簡體   English   中英

如何將bash命令輸出到stdout並同時通過管道傳輸到另一個命令?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM