bash ->/dev/zero 取消之前的追加

标签 bash shell ubuntu

这个问题在这里已经有了答案:





Two redirection operators in one command

(4 个回答)


7 天前关闭。




我正在开发一个与 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
我知道命令是从左到右执行的,有些东西让我无法理解

最佳答案

if the user enter a command with append (>>), the new line is not added as expected


重定向从左到右执行。 >>some.txt将标准输出重定向到 some.txt ,然后 >/dev/null覆盖该重定向并将标准输出重定向到 /dev/null .然后执行命令,输出echo命令重定向到 /dev/null .

关于bash ->/dev/zero 取消之前的追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72665192/

相关文章:

linux - 隐藏 ps 中的命令执行检测

Java FileWriter 类 - java.io.FileNotFoundException : * no such file or directory -Ubuntu

mysql - ubuntu下mysql服务会自动重启吗?

linux - 递归执行不带 -R 的命令 ls

bash - 将 awk 的输出保存到两个不同的变量

linux - 使用启用密码的 sudo 帐户更改 root 密码身份验证的脚本

java - 检查 Oracle DB .shellscript 作业中的大量记录超时

bash - 打印除当前用户之外的所有用户终端

调用守护进程的 Shell 脚本 - DAEMON : command not found

linux - 仅删除文件名中至少有一位数字的文件而不是目录