あるコマンドの出力を別のコマンドの非標準入力にパイピング

あるコマンドの出力を別のコマンドの非標準入力にパイピング

次のようなことをしたいと思います。

which someapplciation | cd outputfrompreviouscommand

このコマンドはディレクトリを提供し、プログラミング言語(たとえば、など)を使用せずにパイプコマンドのみを使用して、その出力をwhich現在の作業ディレクトリに出力できるようにします。awkbashperl

追加例:

which vi

出力を提供

/some/dir

pwd私の作業ディレクトリを私が使用できるディレクトリに移動したいと思います/some/dir。 。

ベストアンサー1

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

cd $(which someapplication)

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

cd $(dirname $(which someapplication))

シェル$(...)演算子は括弧で囲まれたコマンドを実行し、その出力をコマンドラインに置き換えます。

おすすめ記事