获取"没有这样的文件或目录"甚至在使用>之后/ dev / null 2>& 1在命令的末尾

时间:2014-04-29 07:30:55

标签: linux bash

我编写了一个脚本,用于检查该JVM的PID。如果该特定JVM不存在PID,则它将提供退出状态2并终止该脚本。为了检查PID,我做了一个包含PID的特定文件的cat。当没有PID或没有包含PID的文件时,即使在使用>重定向输出后,它也会抛出“没有这样的文件或目录”。 / dev / null 2>& 1在命令的末尾。

我不希望屏幕上显示输出。如果有人可以帮助我,那将非常有帮助。

编辑这是代码段:

ONLINE=grep -ir "$HOSTNAME-"$VAR" is currently online" /home/logs/$GF_OWNER/$HOSTNAME-"$VAR"/$HOSTNAME-"$VAR".log | wc -l 
OFFLINE=0 
PID=cat /home/logs/$GF_OWNER/$HOSTNAME-"$VAR"/gemstart.pid

1 个答案:

答案 0 :(得分:0)

它认为你应该尝试在使用cat / ls /之前测试你的文件是否存在。为此,使用if / test结构:

if [ -e $PETH_TO_THE_FILE ]; then
   //processing here
else

fi

这样你就不会有不必要的输出。