エイリアスのパラメータを一度使用した後はどうなりますか? [コピー]

エイリアスのパラメータを一度使用した後はどうなりますか? [コピー]

なぜこれはarg一度だけ印刷されますか?

$ alias test="echo $1 $1 $1"
$ test arg
arg

これはGNU bashバージョン4.2.25(1)リリース(x86_64-pc-linux-gnu)にあります。

ベストアンサー1

aliasエイリアスを定義したら、コマンドを使用してエイリアスを一覧表示すると、それを明確に理解できます。

alias test="echo $1 $1 $1"
alias

出力:

alias test='echo   '

実行時に定義された変数のみを含む文字列に展開されます。たとえば、次のように動作します(Vvariable MY_VARが定義されています)。

MY_VAR="foo"
alias test="echo $MY_VAR $MY_VAR $MY_VAR"
alias

出力:

alias test='echo  foo foo foo'

機能に置き換えることができます。

function test() {
    echo $1 $1 $1
}

おすすめ記事