yummy.shスクリプトがあります
#!/bin/bash
alias yumy='yum install -y '
yumprovision() {
yumy
}
このスクリプトを実行すると、次の結果が表示されます。
bash: yumy: command not found
関数にエイリアスをロードしないのはなぜですか?
ベストアンサー1
次の機能も使用できますyumy
。
#!/bin/bash
yumy() {
yum install -y "$@"
}
yumprovision() {
yumy
}
"$@"
この関数のパラメータに拡張されるので、yumy foo bar
と同じですyum install -y foo bar
。
デフォルトでは、Bashは非対話型シェルのエイリアスを拡張しませんが、shopt expand_aliases
次の場合に変更できます。本物見たいマニュアルに組み込まれたShopt。しかし、これを行う理由はありません。機能は多くの点で優れています。