1

次のbashスクリプトがあります:

#!/bin/bash
export PYCACHED_HOST='localhost'
export PYCACHED_PORT=8001
echo "PyCached environment variables set to: PYCACHED_HOST=`echo $PYCACHED_HOST`, PYCACHED_PORT=`echo $PYCACHED_PORT`"

実行すると、次の出力が出力されます。

PyCached environment variables set to: PYCACHED_HOST=localhost, PYCACHED_PORT=8001

同じエコー行を再度実行すると、次のようになります。

echo "PyCached environment variables set to: PYCACHED_HOST=`echo $PYCACHED_HOST`, PYCACHED_PORT=`echo $PYCACHED_PORT`"

私は得る:

PyCached environment variables set to: PYCACHED_HOST=, PYCACHED_PORT=

環境変数がスクリプト コンテキスト用に設定されていることは知っていますが、スクリプトの実行が終了した後にそれらを使用できるようにするにはどうすればよいですか?

4

2 に答える 2

4

what can I do to make them available after the script execution is over?

スクリプトを次のように実行します。

source ./script.sh

また

. ./script.sh

これにより、新しいプロセスを作成せずに現在のシェルでスクリプトが実行されるため、スクリプトが終了した後、現在のシェルで環境変数を使用できるようになります。

于 2013-11-03T11:02:03.013 に答える
1

環境変数が時々必要な場合は、それらを.bashrcファイルに設定できます。これは隠しファイルで、通常はホーム ディレクトリにあります。これは、シェル プロンプトを開く前に実行されます。

于 2013-11-03T11:15:23.620 に答える