web-dev-qa-db-ja.com

環境変数なしでシェルスクリプトを実行する

私が知っているように、新しく実行するシェルスクリプトはその環境変数を継承します。これをブロックする方法はありますか? (変数を継承せずにシェルを実行)

17
Eonil

スクリプトの前にenv -iを付けることで、スクリプトを実行する前に環境をクリアできるようです。

env -i sh test.sh

man envから:

-i, --ignore-environment
              start with an empty environment

なぜこれをしたいのかわからない...

21
vmfarms

1つの可能性(かなり醜く見えますが):

exec -c $SCRIPTは、$ SCRIPTを空の環境で開始します。 (見る man bash 検索する exec \[-cl\])。

1
weeheavy