2012-04-16 14 views
0

linuxで自分のアカウントにログインした後、自分の.bash_profileファイルで作成したすべてのエイリアスを使用できます。新しいシェルが作成された後に別名が失われる

しかし、私はコマンドを使用して簡単なスクリプト(setter.sh)を実行しています後: のcleartool setviewコマンドVIEW_NAME

すべてのエイリアスが迷子になっている - のcleartoolが クエリで新しいシェルを起動しますので、これは可能性が考えられます。ネストレベルは、私は現在で午前れる私が知ることができます - - 現在生み出しているどのように多くのシェルを決定する方法

  1. スクリプトが新しいシェルを起動されるような方法で動作するかどうか?。

  2. 新しいシェルを起動した後にエイリアス値を保持する方法 - 上記の場合と同様?

  3. ソースの.bash_profileを追加することで、.bash_profile getがスクリプトの一部として再実行されるようにしようとすると、エイリアスの設定は行われません。

答えて

5

あなたは.bash_profileにグーグルしている必要がありますし、.bashrcインタラクティブシェルのためである、とシェルスクリプトが利用していないことを、ログインシェルのためであるfound.bash_profileことだろう。

シェルスクリプト内では、エイリアスよりも機能を定義する必要があります。

シェルレベルsubshellsは、SHLVL変数から利用できます。

Advanced Bash-Scripting Guideを読む時間がかかります。

+1

+1また、サブシェルに表示されるように関数をエクスポートすることもできます: 'export -f function_name' –

関連する問題