割り当てに空白があっても引用されていない$PATHが安全なのはなぜですか? [コピー]

割り当てに空白があっても引用されていない$PATHが安全なのはなぜですか? [コピー]

次はどこから来たのですかhttps://unix.stackexchange.com/a/154290/674意味は?

通常、zsh以外のシェルでは、値にスペースやその他の特殊文字が含まれていると、二重引用符の外側の$ PATHが壊れます。ミッションの実行中は安全です。

いくつかの例を挙げることができますか?ありがとうございます。

ベストアンサー1

単純割り当ての変数(例a=$b:)は定義(例:POSIX仕様)によって定義され、通常引用する必要はありません。とにかくほとんどの場合です。これは、「文字列分割」や「ワイルドカード」(スペースやワイルドカードなど)がこれらの割り当てでは拡張されないためです*

それ以外の場合は、代入を除く変数( echo $b)はいecho "$b"したがって、拡張(スペースを含む(文字列分割))は、スペースが含まれている場合に問題を回避するために引用符()で囲む必要があります。たとえば、例として使用せずに別のechoコマンドを使用する場合を考えてみましょう。cmd $b空白があれば複数の引数を受け取りますが、$b空白cmd "$b"があっても 1 つの引数を受け取ります。

また見なさい:https://stackoverflow.com/questions/3958681/quoting-vs-not-quoting-the-variable-on-the-rhs-of-a-variable-location

おすすめ記事