aliasコマンドを使用してパラメータを渡すことができるかどうかを知りたいです。
たとえば、
alias d="dmesg|grep -iw usb|tail -5"
dは最後の5行を印刷します。 dを使用して他の行数を印刷するには、dのエイリアスコマンド宣言をもう一度変更する必要があります。
行数を変更するために宣言を再入力する必要がないようにaliasコマンドの宣言を変更する方法はありますか? dのエイリアスを宣言するときに行番号をパラメータとして渡すのと同じですか?それともこの問題を解決する他の方法はありますか?
答え1
「エイリアス」でパラメータを渡すことはできますか?
いいえ。エイリアスは単純な文字列置換です。
機能を使用してください。
d(){
dmesg|grep -iw usb|tail -"$1"
}
答え2
この場合 - はい、引数は最後の引数なので、例外を作成できます。
alias d='dmesg | grep -iw usb | tail'
d -5
動作する必要があります。
答え3
どのようなシェルを使用しますか? zsh では、次のようにパラメーターを渡すことができます。
d () {
dmesg|grep -iw usb|tail -$1
}
エイリアスは常に短い文字列を長い文字列に置き換えます。