我經常看到這樣的命令:什麼時候可以在Bash中使用|&?它可用於其他shell嗎?
command1 |& command2
所以我們在這裏做的是標準錯誤重定向到標準輸入,讓他們都「成爲」標準輸入到管道中的下一個元素。
或者更好在Bash Reference manual -> Pipelines描述:
管道是由 控制操作中的一個分隔簡單命令的序列「|」或「| &'。
...
如果使用
|&
,命令1的標準錯誤,除了其 標準輸出,被連接到通過所述管 命令2的標準輸入;它是2>&1 |
的簡寫。標準輸出的標準錯誤 的這種隱式重定向是在命令指定的任何 重定向之後執行的。
不過,我想知道:是這樣的語法使用在所有的Bash版本?也就是說,它總是可以與2>&1 |
互換嗎?它是否也可以用於任何其他shell(ksh,csh ...)?
你的標題,並最終你會問這個問題似乎是TBH兩個不同的問題給我。我建議編輯標題 – MohitC
@MohitChandak你是對的。我從標題開始,然後調查了這個話題。在我整理出一些東西的時候,還提出了其他問題。將編輯它,謝謝。 – fedorqui
如果你想知道什麼是可用的其他shell,你最好試用posix模式的shell,因爲標準是唯一的方法來保證一件事肯定會在另一個系統中工作 – HuStmpHrrr