-1

在 shell run.sh 我有

find . -name "*.txt" -exec grep -H SNR {} \; | grep "$1" > result.txt
if[ "$1" -eq "offs0.5"] 
 then 
 fi

如果我输入:run.sh offs0.5

这个错误:

[: offs0.5 : 需要整数表达式

4

1 回答 1

0

要进行字符串比较,您需要使用以下内容:

[ "$1" == "offs0.5" ] 

请注意eq,当您比较字符串时,您的表达式 with 正在寻找算术比较。

此外,在你的表达中,你有

if[ "$1" -eq "offs0.5"] 
          ^^^        ^ needed space
          no eq on string comparison

测试

$ d="offs0.5"
$ 
$ [ "$d" == "offs0.5" ] && echo "yes"
yes

$ d="offs0.5aa"
$ [ "$d" == "offs0.5" ] && echo "yes"
于 2013-10-16T12:22:17.903 回答