GNU/Linux >> Linux の 問題 >  >> Linux

コマンドラインで環境変数を設定し、それをコマンドに表示するにはどうすればよいですか?

実行した場合

export TEST=foo
echo $TEST

fooを出力します。

実行した場合

TEST=foo echo $TEST

そうではありません。エクスポートやスクリプトを使用せずにこの機能を取得するにはどうすればよいですか?

承認された回答:

これは、シェルがコマンドラインの変数をに展開するためです。 実際にコマンドを実行しますが、その時点では変数は存在しません。使用する場合

TEST=foo; echo $TEST

動作します。

export 変数が後で実行されるコマンドの環境に表示されるようになります(これがbashでどのように機能するかについては、help exportを参照してください。 )。変数を1つのコマンドの環境に表示するだけでよい場合は、試したものを使用してください。例:

TEST=foo your-application

シェル構文は、これを機能的にであると説明しています。 同等:

export TEST=foo
your-application
unset TEST

詳細については、仕様を参照してください。

興味深いのは、export コマンドは、変数 nameのエクスポートフラグを切り替えます 。したがって、次の場合:

unset TEST
export TEST
TEST="foo"

TEST エクスポート時に定義されていなくてもエクスポートされます。ただし、さらにunset エクスポート属性を削除する必要があります。


Linux
  1. Linuxコマンドラインで牛を飼う

  2. Linux エクスポート コマンドの例 (環境変数の設定方法)

  3. シェルコマンドを使用してGDB内で環境変数を設定するには?

  1. Linux環境変数:LinuxVPSでの読み取りと設定の方法

  2. Linuxコマンドラインナビゲーションのヒント/コツ3-CDPATH環境変数

  3. Linuxコマンドラインナビゲーションのヒント:pushdおよびpopdコマンドの基本

  1. コマンドの出力をシェル変数に割り当てる方法は?

  2. Grub2のコマンドからの出力に等しい変数を設定するにはどうすればよいですか?

  3. コマンドラインで括弧はどのように解釈されますか?