私が知っているように、新しく実行するシェルスクリプトはその環境変数を継承します。これをブロックする方法はありますか? (変数を継承せずにシェルを実行)
スクリプトの前にenv -i
を付けることで、スクリプトを実行する前に環境をクリアできるようです。
env -i sh test.sh
man env
から:
-i, --ignore-environment
start with an empty environment
なぜこれをしたいのかわからない...
1つの可能性(かなり醜く見えますが):
exec -c $SCRIPT
は、$ SCRIPTを空の環境で開始します。 (見る man bash
検索する exec \[-cl\]
)。