Shell
管道輸出從一個命令到另一個命令的非標準輸入
我想做類似於以下的事情:
which someapplciation | cd outputfrompreviouscommand
該命令
which
提供了一個目錄,我希望能夠在不使用程式語言(即、、、等)的情況下將該輸出作為我目前的工作目錄awk
,bash
並且perl
只使用管道命令。再舉個例子:
which vi
提供輸出
/some/dir
我希望將我的工作目錄移動到該目錄,我可以使用該
pwd
命令進行測試,該命令的輸出應與/some/dir
.
如果您正在執行的第二個命令沒有從其標準輸入中讀取,則您不能使用管道。但是,您可以執行類似的操作
cd $(which someapplication)
或者,因為您需要目錄名
cd
而不是執行檔名:cd $(dirname $(which someapplication))
shell 操作符執行括號內的
$(...)
命令並將其輸出替換到命令行中。