web-dev-qa-db-ja.com

あるコマンドから別のコマンドの非標準入力に出力をパイプします

私は次のようなことをしたいと思います:

which someapplciation | cd outputfrompreviouscommand

コマンドwhichはディレクトリを提供し、プログラミング言語、つまりawkbashPerlなど、pipeコマンドのみを使用します。

さらに例を挙げます。

which vi

出力を提供します

/some/dir

作業ディレクトリを、pwdコマンドを使用してテストできるディレクトリに移動します。このディレクトリの出力は/some/dirと一致するはずです。

2
Avlaxis

実行している2番目のコマンドが標準入力から読み取られない場合、パイプを使用することはできません。しかし、あなたは次のようなことをすることができます

_cd $(which someapplication)
_

または、実行可能ファイル名ではなく、cdのディレクトリ名が必要なため:

_cd $(dirname $(which someapplication))
_

$(...) Shell演算子は、括弧内のコマンドを実行し、その出力をコマンドラインに置き換えます。

7
Greg Hewgill