我正在编写一个与shell命令相关的程序。
我想做的是,当用户输入命令时,这不会显示任何输出
我尝试将> /dev/null
添加到命令中,这对于
$ echo "some text" | sudo tee some.txt > /dev/zero
$ cat some.txt
some text
但是,如果用户输入一个带有追加符(>>)的命令,则不会按预期添加新行
$ echo "appending another line" >> some.txt > /dev/zero
$ cat some.txt
some text
我知道这些命令是从左到右执行的,但是有些东西逃过了我的注意
如果用户输入带有附加符(>>)的命令,则不会按预期添加新行
重定向从左到右执行。>>some.txt
重定向stdout到some.txt
,>/dev/null
覆盖重定向stdout到/dev/null
。执行命令后,echo
命令的输出被重定向到/dev/null
。