1

我正在通过 shell 脚本从文件中读取字符串。它是这样的:

count = 0
while read LINE
do
    count++
    if [ "$LINE" == "NONE" ]
    then
       echo "state is NONE"
    else
       if [ "$LINE" == "PLAYING" ]
       then
           echo "state is PLAYING"
       fi
    fi
done<$FILENAME

这是我从文件中读取的内容,以及我如何处理它,现在如果找不到文件,我想做其他事情,有什么办法吗?例如:

if[ file not found]
then
   do something
fi
4

3 回答 3

5
if [ -f path_to_file ]
then
  echo "file was found"
else
  echo "file was not found"
fi
于 2013-04-08T14:23:03.160 回答
1

您最好使用以下条件开始您的脚本:

if [ ! -f /your/file ]; then
    echo "file not found"
else
    ...
    proceed with your `while`, etc.
    ...
fi
于 2013-04-08T14:21:35.333 回答
1

由于您正在尝试读取文件,那么也许您应该测试该文件是否存在,以及您是否具有读取权限:

if [[ ! -f $FILENAME ]] || [[ ! -r $FILENAME ]]
then
    # do stuff
fi

-f检查是否$FILENAME是常规文件的测试,-r检查您(当前用户)是否具有读取权限。

于 2013-04-08T15:34:57.090 回答