当前位置:  开发笔记 > 编程语言 > 正文

在Bash脚本中隐藏输出

如何解决《在Bash脚本中隐藏输出》经验,为你挑选了1个好方法。

我有一个bash脚本,但它给了我恼人的输出,我不想看到.当然我可以用这种方式隐藏它:

./script.sh >/dev/null 2>&1

但是我想把脚本放在"rc.local"或"c​​ron job"中,所以如果它每隔5分钟接收一次输出,或者在启动时就会非常糟糕.如果有一种方法可以告诉整个脚本隐藏输出,那将会很棒.



1> Charles Duff..:

如果您想重定向所有输出到/dev/null 的脚本,可以像这样做(在这种情况下,仅执行如果环境变量重定向DEBUG未设置):

#!/bin/bash
[[ $DEBUG ]] || exec >/dev/null 2>&1
# ...continue with execution here.

您还可以检查输入是否来自TTY以检测交互式使用:

if [ -t 0 ]; then
  # being run by a human, be extra verbose
  PS4=':$LINENO+'
  set -x
else
  # being run by a daemon, be outright silent
  exec >/dev/null 2>&1
fi

查看内置的bash-hackers页面exec.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有