![](/img/trans.png)
[英]Bash: How to direct output to both stderr and to stdout, to pipe into another command?
[英]How to output bash command to stdout and pipe to another command at the same time?
我在服務器上工作,為了顯示詳細的GPU信息,我使用以下命令:
nvidia-smi
ps -up `nvidia-smi |tail -n +16 | head -n -1 | sed 's/\s\s*/ /g' | cut -d' ' -f3`
但是,如您所見, nvidia-smi
被調用了兩次。 如何使nvidia-smi
輸出同時進入輸出並通過管道傳遞到另一個命令?
使用tee
:
ps -up `nvidia-smi |tee /dev/stderr |tail -n +16 | head -n -1 | sed 's/\s\s*/ /g' | cut -d' ' -f3`
由於stdout是通過管道傳遞的,因此您無法對其進行復制,因此我選擇了stderr來顯示輸出。
如果/dev/stderr
不可用,請使用/proc/self/fd/2
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.