Kshシェルからすべての環境変数を削除する必要があります。新しいインスタンスをフォークできますが、必然的にいくつかの初期化ファイルをインポートします(私の知る限り.profile
).kshrc
。これらのファイルと初期化時に読み取ることができる他のファイルのソースをバイパスする方法はありますか?
- Kshバージョン:バージョンM-11/16/88i
- オペレーティングシステム:Solaris 10
私は十分に明確に説明してください。
ベストアンサー1
~/.profile
ログインシェルからのみ読み取ることができます。~/.kshrc
対話型シェルに対してのみ実行されます。
Solarisは空の環境で実行するための構文をサポートしていますenv
(現在は使用されなくなりましたが、以前のバージョンとの互換性を非常に重要と考えているSolarisでは維持されています)。したがって、スクリプトは空の環境で実行され、プロファイルスクリプトは選択されません。 Kshはいくつかの環境変数を積極的に設定することができます。 ksh88についてはわかりませんが、ksh93はand、pdkshはandを設定します。env - /path/to/command
/path/to/command
env - /usr/bin/ksh -c /path/to/script
_
PWD
_
PATH
ksh 内でオプションまたは無差別に環境変数をクリアできます。
unset x
for x in $(typeset +x); do
unset $x
done