2012-03-13 3 views
0

私はUnixシェルスクリプトにいくつかのエクスポートステートメントを追加しようとしていますが、これまではbashシェルでしか動作しませんでした。下のエクスポートをシェルスクリプトを使ってすべてのシェルに適用する方法はありますか?すべてのUnixシェルの環境変数の作成

AXIS2_HOME = /ホーム/ユーザー/ axis2-1.6.0 輸出AXIS2_HOME

+0

';'の前に ';'を忘れました。 –

答えて

1

あなたは何を意味する "すべてのシェルを?"

  • 「親/兄弟シェルの環境を変更できますか?」のように異なるシェルを意味する場合は、

いいえ、できません。 varをエクスポートすると、すべての子供がそれを継承しているはずです。 あなたは何らかの形で呼び出し元を実行させる一時ファイルをスクリプトに作成させることによって、それを偽造することができますが、それは奇妙なことになり始め、アーキテクチャに問題を示唆しています。

  • あなたが別のシェルを意味している場合のsh/bashののように/ cshを/ tcshを/ zshの/ kshのなど

あなたは、すべての "SH" 風味のシェルではなく、「cshのためにその仕事のようなものを作ることができます"風味はsetenvを使う必要があります。

どこまで行きたいかによって、すべてのenvを保存するためのものを書くことができます。 varsを別のファイル(env.datなど)に入れ、sed/awk/perlを使用してsh/csh構文に変換します。