Shell

管道輸出從一個命令到另一個命令的非標準輸入

  • June 10, 2014

我想做類似於以下的事情:

which someapplciation | cd outputfrompreviouscommand

該命令which提供了一個目錄,我希望能夠在不使用程式語言(即、、、等)的情況下將該輸出作為我目前的工作目錄awkbash並且perl只使用管道命令。

再舉個例子:

which vi

提供輸出

/some/dir

我希望將我的工作目錄移動到該目錄,我可以使用該pwd命令進行測試,該命令的輸出應與/some/dir.

如果您正在執行的第二個命令沒有從其標準輸入中讀取,則您不能使用管道。但是,您可以執行類似的操作

cd $(which someapplication)

或者,因為您需要目錄名cd而不是執行檔名:

cd $(dirname $(which someapplication))

shell 操作符執行括號內的$(...)命令並將其輸出替換到命令行中。

引用自:https://unix.stackexchange.com/questions/136505