web-dev-qa-db-ja.com

Macで、エイリアスに実行したいコマンドをグループ化するにはどうすればよいですか?

.bash_profileで、頻繁に実行するコマンドのエイリアスを作成しました。

複数のコマンドをグループ化して、それらを次々にシリアルに実行する必要がある場合はどうなりますか。

どうすればよいですか?

2
user27449

エイリアスの代わりに関数を作成できます。

function foo {
    cat somefile.txt
    rm anotherfile.txt
}

パラメータを渡すこともできます(foo somefile.txt)そしてそれらをコマンドへの引数として使用します(例:cat $1最初の引数)。

このアプローチは、aliasを作成するよりも柔軟性があります。

5
Daniel Beck

たとえば、それらを&&と連結します

cat somefile.txt && rm anotherfile.txt

このようにチェーンすると、コマンドは前のコマンドの終了状態に依存するため、いずれかのコマンドが失敗した場合、行全体の実行はその時点で停止することに注意してください。

5
slhck

たとえば、それらを;で区切ります。

cat somefile.txt; rm anotherfile.txt
2
William Jackson