Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在Bash脚本中隐藏输出_Linux_Bash_Shell - Fatal编程技术网

Linux 在Bash脚本中隐藏输出

Linux 在Bash脚本中隐藏输出,linux,bash,shell,Linux,Bash,Shell,我有一个bash脚本,但它给了我讨厌的输出,我不想看到。当然,我可以用这种方式隐藏它: ./script.sh >/dev/null 2>&1 但是我想把脚本放在“rc.local”或“cron job”中,所以如果它每5分钟收到一次输出,或者在启动时收到一次输出,那将非常糟糕。如果有办法告诉整个脚本隐藏输出,那就太好了 如果要将脚本中的所有输出重定向到/dev/null,可以这样做(在这种情况下,仅当未设置环境变量DEBUG时才执行重定向): 您还可以检查输入是否来自TT

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

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

但是我想把脚本放在“rc.local”或“cron job”中,所以如果它每5分钟收到一次输出,或者在启动时收到一次输出,那将非常糟糕。如果有办法告诉整个脚本隐藏输出,那就太好了

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

您还可以检查输入是否来自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

如果要将脚本中的所有输出重定向到
/dev/null
,请参阅。

(在这种情况下,仅当未设置环境变量
DEBUG
时才执行重定向):

您还可以检查输入是否来自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

请参阅。

我不是100%确定您在问什么-如果您永远不想看到输出,只需像现在这样重定向到
/dev/null
。也许可以提供一个更具体的例子来说明你在做什么?您可能会感兴趣的是,只有在命令成功的情况下才讨论禁止输出。您不能将
/script.sh>/dev/null 2>&1
放在rc.local或crontab中吗?我不是100%确定您在问什么-如果您永远不想看到输出,只需像现在这样重定向到
/dev/null
。也许可以提供一个更具体的例子来说明你在做什么?您可能会感兴趣的是,只有在命令成功时才讨论禁止输出。您不能将
/script.sh>/dev/null 2>&1
放在rc.local或crontab中吗?