Bash脚本与比较字符串有关

时间:2013-09-11 23:24:47

标签: bash

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

代码:

 #!/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

1 个答案:

答案 0 :(得分:3)

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

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