環境変数割り当て後のコマンド [冗長]

環境変数割り当て後のコマンド [冗長]

次のbash注文では、正確に何が起こっていますか?

x=10 echo $x

私の考えでは、bashのコマンドは、またはを使用して接続できますが、&&単にスペースで区切ることはできません。上記は、最初のコマンドが割り当ての場合にのみ機能します。たとえば失敗しましたが、うまくいきました。||;ls lsfoo=zoo ls

上記のスタイルの実際の例は以下にあります。この回答

ベストアンサー1

これは、変数セットを使用してコマンドを呼び出すために使用される特殊な構文構造です。これは、変数の範囲がそのコマンドに制限されることを意味します。

たとえば、次のコマンドは次のようになります。

x=10 sh -c 'echo $x'

他のコマンドとまったく同じです。

( export x=10; sh -c 'echo $x' )

提供された例()は、変数が呼び出し前に評価されるため、x=10 echo $xこの構成に適した例ではありません。$xecho

おすすめ記事