エコーの他の動作を観察するのはなぜですか?

エコーの他の動作を観察するのはなぜですか?

echoの次の動作を観察しました

#!/bin/bash

x=" hello"

echo $x
echo "$x"

さて、上記のコードを実行すると

ronnie@ronnie:~$ bash test.sh
hello
 hello
ronnie@ronnie:~$

したがって、誰かがこれが最初のケースの出力に表示されない理由を説明し、whitespaceこの動作を定義する文書を教えてもらえますか?

ベストアンサー1

これは行動ではありませんecho。これはバッシュ動作です。 Bashフォームを使用している場合は、echo $x次のコマンドを使用して処理(スペースで処理)します。

echo␣␣hello

その後、このコマンドはトークン化され、bashは2つのトークンを取得します。echoしたがって、hello出力は次のようになります。hello

このフォームを使用すると、echo "$x"bashはトルクナイザーの入力に次のようになります。

echo␣"␣hello"

echoしたがって、2つのトークンがあるため、␣hello出力は異なります。

おすすめ記事