kshシェルからきれいな環境を取得するには?

kshシェルからきれいな環境を取得するには?

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/commandenv - /usr/bin/ksh -c /path/to/script_PWD_PATH

ksh 内でオプションまたは無差別に環境変数をクリアできます。

unset x
for x in $(typeset +x); do
  unset $x
done

おすすめ記事