我想创建if语句,但在这个语句中有一些错误
for i in ${@:2} ; do
if (( $2 -eq $i ))
then
continue
fi
done
如何修复我的if语句
答案 0 :(得分:2)
您的陈述仅适用于整数。
如果您想将它们作为字符串进行比较,可以使用[[ "string1" = "string2" ]]
:
$ cat -v myscript
#!/bin/bash
for i in "${@:2}" ; do
if [[ "$2" = "$i" ]]
then
echo "$2 and $i are the same"
else
echo "$2 and $i are different"
fi
done
$ chmod +x myscript
$ ./myscript dummy target foo bar target
target and target are the same
target and foo are different
target and bar are different
target and target are the same
从这个可运行的例子可以看出,它有效。如果您发现它不在您的系统上,您应该提供一个完整的示例,如上所示。
答案 1 :(得分:0)
我建议
if [ "$2" = "$i" ]