字符串比较中的算术语法错误

字符串比较中的算术语法错误

我编写了一个 shell 脚本,它将文件名作为参数,例如 user/test.txt。如果用户不想提供他/她可以给出的文件名“无”,我想将此文件参数设为可选

在脚本内部我只是检查文件名参数是否包含“None”

if [ $filename -eq "NONE" ];then
cmd;
fi

当“None”作为参数脚本传递时工作正常,但是当传递 user/test.txt 时,我收到以下错误消息,我不想在控制台上打印

arithmetic syntax error

有人可以帮忙吗?

答案1

[ bla bla bla ]相当于test bla bla bla.

man test

   STRING1 = STRING2
          the strings are equal

   STRING1 != STRING2
          the strings are not equal

   INTEGER1 -eq INTEGER2
          INTEGER1 is equal to INTEGER2

因此你=不需要-eq

相关内容