我编写了一个 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
。