![一連のコマンドのエイリアスを作成するには? [コピー]](https://linux33.com/image/34260/%E4%B8%80%E9%80%A3%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E3%82%A8%E3%82%A4%E3%83%AA%E3%82%A2%E3%82%B9%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
コマンドであることはわかりますが、シーケンスをどのように処理しますか?
答え1
コメントに形式を正しく指定できなかったため、これを回答として入れました。
foo() {
echo foo
echo bar
}
> foo
foo
bar
IMHOエイリアスよりも関数を自由に使用できます。少なくとも正しくフォーマットすることができます。
スクリプトでは、エイリアスは非常に制限的に使用されます。エイリアスがCプリプロセッサのいくつかの機能(マクロ拡張など)を使用できる場合は良いですが、残念ながらBashはエイリアスボディ内で引数を拡張しません。 [2] また、スクリプトは、if/then ステートメント、ループ、関数などの「複合構造」内でエイリアス自体を拡張することはできません。別の制限は、エイリアスが再帰的に拡張されないことです。ほとんど常にエイリアスで実行したいことは、関数を使用してより効率的に実行できます。
答え2
start cmd:> alias foo="echo foo; echo bar"
start cmd:> foo
foo
bar