Shell脚本非法编号错误

时间:2011-04-09 08:55:24

标签: bash scripting

我正在检查文件是否存在但是我收到以下代码的错误

filename="a.txt"
if [ -s $filename ] ; then  
    echo "exists"
else
    echo "not exists"
fi

它给出错误[:116:非法数字

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

您必须使用-f

filename="a.txt"
; touch $filename
; echo $filename
if [ -f "$filename" ] ; then  
    echo "exists"
else
    echo "not exists"
fi

-s是检查“FILE是否存在且是套接字”。

注意:

  • 取消注释touch句子以确保文件存在。
  • 取消注释echo $filename句子以确保其内容为var。
  • 尝试用"括起来,以确保$filename内没有空格或特殊字符。

参考文献: