違いを知りたいです。入力/出力リダイレクトそしてコマンドの置き換え?
which
たとえば、コマンド出力をコマンドcd
(ディレクトリではないことがわかっている)にリダイレクトしたい場合、そのcd
コマンドはリダイレクトを使用しません which
。
例えばwhich w3af | cd
?のようなコマンド置換を使用する必要がありますがcd $( which w3af )
、なぜですか?
ベストアンサー1
引用した特定の例では、コマンド置換を使用する必要があります。
cd -P -- "$(dirname -- "$(which w3af)")"
理由は簡単cd
ですSTDIN
。パラメータのみを許可するためです。
また、which command
ディレクトリの代わりにファイルパスが作成されます。