在Bash脚本中隐藏输出

时间:2015-12-16 00:36:10

标签: linux bash shell

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

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

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

1 个答案:

答案 0 :(得分:5)

如果要将所有输出重定向到脚本中的/dev/null ,可以这样做(在这种情况下,只有在环境变量{{1}时才执行重定向) }未设置):

DEBUG

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

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

请参阅the bash-hackers page on the exec builtin