私のセッションにいくつかの環境設定をロードするいくつかのスクリプト(私の制御の範囲外)があります。したがって、ロードしたいときはいつでも一連のコマンドを実行する必要があります。
export SOME_VAR=/path/to/main/folder
source $SOME_VAR/loading/stuff.sh --quiet
loadApp1
loadApp2
loadApp3
loadApp4
1つのコマンドでこれを実行したいので、関数(ほぼ上の行)を作成しましたが、うまくいきません。
私の考えでは、これはloadAppsがエイリアスであり、stuff.sh
Bashが私の関数を解析するときにまだエイリアスを知らないからだと思います。
移植性を失うことなく単一のコマンドを使用してこれを行うにはどうすればよいですか?
$HOME/.bashrc
PS:エイリアスは他の場所で変更できますが、表示されないため、エイリアスをコピーしたくありません。
ベストアンサー1
エイリアスの場合は、次のように書く必要があります。
myFunction() {
export SOME_VAR=/path/to/main/folder
. "$SOME_VAR/loading/stuff.sh" --quiet
eval '
loadApp1
loadApp2
loadApp3
loadApp4'
}
読み取り/解析時にエイリアスが拡張されます。eval
そのような解析を強制します。