得到"没有这样的文件或目录";即使在使用>/dev/null2>&命令结束时为1



我已经编写了一个脚本,它在其中检查JVM的PID。如果该特定JVM的PID不存在,它将给出退出状态2并终止脚本。为了检查PID,我做了一个包含PID的特定文件的cat。当没有PID或没有包含PID的文件时,即使在使用>/dev/null 2>&命令结束时为1。

我不希望输出显示在屏幕上。如果有人能在这方面帮助我,那将是非常有帮助的。

EDIT这是代码片段:

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

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

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

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

最新更新