Bashシェルスクリプトから環境変数の最新の値を取得する方法を知りたいです。私が経験している問題は、外部から何度も変更できる環境変数があることです。ただし、シェルスクリプトでこの変数を使用すると、起動時に常に値が表示されます。たとえば、シェルスクリプトを作成しましたが、環境変数xは10です。
echo $x #Here this prints 10
sleep 20 #here during the sleep I am changing the value to 5
echo $x #Here even after value is changed to 5 , it prints 10.
実際の実行は次のとおりです。
# ./temp.sh &
[1] 915
# 10
# export x=5
# 10
[1]+ Done ./temp.sh
#
ベストアンサー1
環境変数は、このようなタスクを実行するためのものではありません。スクリプトは、一度実行すると、環境をコピーに継承します。その後、両方の環境は独立しています。
プロセス間の通信方法を見つける必要があるかもしれません。本当に変数でこれを行う必要がある場合は、次の点を確認してください。これ;これは通常の使用で実行されているプロセスと通信する正しい方法ではありませんが。