1. ホーム
  2. シェル

[解決済み】シェルエイリアスにコマンドライン引数を渡すには?重複

2022-03-28 08:48:42

質問

コマンドラインの引数をエイリアスに渡すにはどうしたらいいですか?以下はサンプルです。

alias mkcd='mkdir $1; cd $1;'

しかし、この場合、$xxは実行時ではなく、エイリアス作成時に翻訳されます。しかし、私は以下のようなシェル関数を使用して回避策を作りました(少しググってみてください)。

関数 mkcd(){
  mkdir $1
  cd $1
}

ただ、CLパラメータを受け取るエイリアスを作る方法があるかどうか知りたかっただけなのです。

ちなみに、私はデフォルトのシェルとして「bash」を使用しています。

どのように解決するのですか?

エイリアスの代わりに関数を作成する方法があります。 Cシェルにはエイリアスに引数を与える仕組みがありますが、bashやKornシェルにはありません。なぜなら、関数の仕組みの方がより柔軟で、同じ機能を提供してくれるからです。