エイリアスとしてどのように書くことができますか?
p() {
DIR=~/projects/$@
pushd "$DIR"
}
私が知っている限り、これはxargsではなくPushdにstdinを接続することです。
alias p="xargs printf ~/projects/%s | pushd"
おそらく関数として良いでしょう。しかし、一行で書いて正しいパイプを取得する方法を知っていると、何かを学ぶことができるようです。
答え1
@AndreasWieseが述べたように、エイリアスを使用してこれを行うことはできません。エイリアスはスペースで区切られた引数を追加するため、単純な方法でaliasコマンドに接続することはできません。
機能に関するコメント:この機能を使用する理由は何ですか$@
?を使用する必要があります$1
。複数の引数()を使用して関数を呼び出すと、不明なディレクトリエラー()p a b c
が発生する可能性があります。b: command not found