关于重定向的一个疑惑
发表于 : 2021-01-15 14:48
1. 第一个疑惑:
{ echo hello > a.txt; } >b.txt
上述命令执行后,发现hello会被输出到a.txt文件里。这种顺序在bash手册的哪里有说明吗?
2. 第二疑惑:
sleep 1m > /dev/null |& cat
上述命令执行后,通过lsof发现,sleep 1m的stdout和stderr都被重定向到了/dev/null:
sleep 6945 root 1w CHR 1,3 0t0 1028 /dev/null
sleep 6945 root 2w CHR 1,3 0t0 1028 /dev/null
这种该如何解释?
(我的本来目的是:只将前面一个命令的stderr通过管道连接到后一个命令的stdin)
{ echo hello > a.txt; } >b.txt
上述命令执行后,发现hello会被输出到a.txt文件里。这种顺序在bash手册的哪里有说明吗?
2. 第二疑惑:
sleep 1m > /dev/null |& cat
上述命令执行后,通过lsof发现,sleep 1m的stdout和stderr都被重定向到了/dev/null:
sleep 6945 root 1w CHR 1,3 0t0 1028 /dev/null
sleep 6945 root 2w CHR 1,3 0t0 1028 /dev/null
这种该如何解释?
(我的本来目的是:只将前面一个命令的stderr通过管道连接到后一个命令的stdin)