簡體   English   中英

bash stdout 一些信息並從內部循環管道其他信息

[英]bash stdout some information and pipe other from inside loop

如何打印通過管道傳輸到其他命令的循環的輸出:

for f in "${!myList[@]}"; do 
    echo $f > /dev/stdout # echoed to stdout, how to?
    unzip -qqc $f # piped to awk script
done | awk -f script.awk

您可以使用/dev/stderr或第二個文件描述符:

echo something >&2 | grep nothing
echo something >/dev/stderr | grep nothing

您可以使用將連接到標准輸出的另一個文件描述符:

# for a single command group
{ echo something >&3 | grep nothing; } 3>&1
# or for everywhere
exec 3>&1
echo something >&3 | grep nothing
# same as above with named file descriptor
exec {LOG}>&1
echo 123 >&$LOG | grep nothing

您還可以將輸出重定向到當前控制終端/dev/tty (如果有):

echo something >/dev/tty | grep nothing

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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