1

bash 環境に http プロキシを設定したい(export http_proxy=xyz)。だから私はの最後にコマンドを追加して.bash_profile呼び出しました

exec /bin/sh -c "source /path/to/.bash_profile"

しかし、期待どおりに動作$::env(http_proxy)しません: 存在しません (ただし、タイプミスはありません)。私もそのようにスクリプトを実行しようとしました: exec /bin/sh -c [exec cat /path/to/.bash_profile].. しかし、同じ結果になりました。

4

1 に答える 1

2

言って

exec /bin/sh -c "source /path/to/.bash_profile"

はサブシェルになりますsource/path/to/.bash_profileそのため、コマンドの実行が完了すると、環境に加えられた変更は事実上無視されます。

環境変数をプログラムに渡すには、次を試してください。

exec /usr/bin/env http_proxy=xyz program
于 2013-08-14T08:05:56.397 に答える