コマンドの置き換えとI / Oリダイレクト?

コマンドの置き換えとI / Oリダイレクト?

違いを知りたいです。入力/出力リダイレクトそしてコマンドの置き換え

whichたとえば、コマンド出力をコマンドcd(ディレクトリではないことがわかっている)にリダイレクトしたい場合、そのcdコマンドはリダイレクトを使用しません which
例えばwhich w3af | cd?のようなコマンド置換を使用する必要がありますがcd $( which w3af )、なぜですか?

ベストアンサー1

引用した特定の例では、コマンド置換を使用する必要があります。

cd -P -- "$(dirname -- "$(which w3af)")"

理由は簡単cdですSTDIN。パラメータのみを許可するためです。

また、which commandディレクトリの代わりにファイルパスが作成されます。

おすすめ記事