2

当我运行这个命令时,

sudo htpasswd -b /home/reynolds/.htpasswd admin admin

Updating password for user admin在终端中得到输出,但我不想显示该输出。所以我在谷歌搜索了一些并尝试使用以下命令。

sudo htpasswd -b /home/reynolds/.htpasswd admin admin 2>&1
sudo htpasswd -b /home/reynolds/.htpasswd admin admin > /dev/null

但我仍然在终端中获得该输出。请帮助避免在运行此命令时显示此类输出。请给我建议,因为我是 shell 脚本的初学者。

谢谢。

4

3 回答 3

5
 > /dev/null

并且正常输出被抑制,但仍然显示错误

按照命令

 > /dev/null 2>&1

一切,包括错误都被抑制

于 2013-08-02T04:05:24.107 回答
1

只需执行以下操作;

sudo htpasswd -b /home/reynolds/.htpasswd admin admin > /dev/null 2>&1

应该隐藏一切!

于 2013-08-02T04:50:07.783 回答
1

您收到此错误的原因是sudo仅适用于参数列表中的第一个命令。

解决这个问题的方法是像这样封装你的命令,以 bash 为例:

sudo bash -c "htpasswd -b /home/reynolds/.htpasswd admin admin 2>&1"

请记住,这会创建一个新的 bash shell,因此任何相对路径都将不起作用,并确保您所依赖的任何环境变量等也都可用。

于 2016-12-02T01:24:09.673 回答