
bashのマニュアルには、aliasについては次のように書かれています。
csh のように、置換テキストで引数を使用するメカニズムはありません。引数が必要な場合は、シェル関数を使用する必要があります (セクション 3.3 [シェル関数]、17 ページを参照)。
この2つの文はどういう意味ですか?
「置換テキストで引数を使用する」は、次のような意味ではないようですが、これは成功します。
$ alias foo="echo bac"
$ foo
bac
$ foo hello
bac hello
答え1
言葉遣いが完璧ではないと思うが、とても文字通り。Bashは別名引数付きのテキスト。追加ご覧のとおり、テキストに対する議論です。これはCSH エイリアス議論を展開する内部置換テキスト。
2 番目の文は、私見では、上記の制限から派生したものであり、単純なエイリアスよりも柔軟な関数定義を推奨しています。