如何完全抑制命令的输出?

如何完全抑制命令的输出?

我希望这个命令安静地运行,

echo "any_password" | sudo -S true

我尝试将 stdout 和 stderr 的输出重定向到/dev/null。当我提供正确的密码时,它可以按预期工作,但是当密码不正确时,我仍然会在屏幕上看到一些错误。

echo "incorrect_password" | sudo -S true > /dev/null 2>&1

给出,

Sorry, try again.

输出仅被部分抑制。有没有办法完全抑制它?

答案1

这应该可以解决问题

script -qec "echo foo | sudo -S ls > /dev/null 2>/dev/null " > /dev/null

请记住,如果您希望将密码作为参数传递给脚本,或将其存储在脚本文件中,则存在安全问题。

相关内容