1

我正在尝试比较字符串。我收到“找不到命令”错误。如何比较字符串?

代码:

 #!/bin/bash 
 STR="Hello World" 
 if [$STR="Hello World"]; then
   echo "passed test"
 else
   echo "didn't pass test"
 fi 

输出:

 test.sh: line 4: [Hello: command not found
 didn't pass test
4

1 回答 1

4

您应该添加空格。将其视为[[[将其视为另一个命令,例如test和其他内置命令。和其他命令一样,它的名称后需要一个空格。还建议您在 Bash中使用[[ ]]over ,因为它不会使用 IFS 拆分其变量并进行路径名扩展。它还具有比其他更多的功能。[ ][[ ]]

#!/bin/bash
STR="Hello World"
if [[ $STR = "Hello World" ]]; then
    echo "passed test"
else
    echo "didn't pass test"
fi
于 2013-09-11T23:25:29.243 回答