为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用Bash禁止命令的所有输出?

如何使用Bash禁止命令的所有输出?

侃侃无极 2019-11-05 14:38:41
我有一个bash脚本,用于运行带有参数的程序。该程序输出一些状态(执行此操作,执行此操作...)。该程序没有其他选项可以使它安静。如何防止脚本显示任何内容?我正在寻找类似“回声”窗户的东西。
查看完整描述

3 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

在某些情况下可能适用的替代方法是将命令的结果分配给变量:


$ DUMMY=$( grep root /etc/passwd 2>&1 )

$ echo $?

0

$ DUMMY=$( grep r00t /etc/passwd 2>&1 )

$ echo $?

1

由于Bash和其他POSIX命令行解释器不将变量分配视为命令,因此应遵守当前命令的返回码。


注意:使用typesetor declare关键字进行分配被视为命令,因此,如果返回值是分配本身而不是在子外壳程序中执行的命令,则评估的返回码:


$ declare DUMMY=$( grep r00t /etc/passwd 2>&1 )

$ echo $?

0


查看完整回答
反对 回复 2019-11-05
?
白衣非少年

TA贡献1155条经验 获得超0个赞

就像andynormancx帖子一样,使用以下命令:(如果您在Unix环境中工作)


scriptname > /dev/null

或者您可以使用以下命令:(如果您在Windows环境中工作)


scriptname > nul


查看完整回答
反对 回复 2019-11-05
  • 3 回答
  • 0 关注
  • 1067 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信