【问题标题】:How to hide displaying terminal command output如何隐藏显示终端命令输出
【发布时间】:2016-12-02 10:41:24
【问题描述】:

当我运行这个命令时,

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 脚本的初学者。

谢谢。

【问题讨论】:

    标签: bash shell sh


    【解决方案1】:
     > /dev/null
    

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

    按照命令

     > /dev/null 2>&1
    

    一切,包括错误都被抑制

    【讨论】:

      【解决方案2】:

      只需执行以下操作;

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

      应该隐藏一切!

      【讨论】:

        【解决方案3】:

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

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-01-02
          • 1970-01-01
          • 2014-12-14
          • 1970-01-01
          • 2022-01-10
          • 2013-08-06
          • 1970-01-01
          • 2015-05-14
          相关资源
          最近更新 更多