我正在尝试比较字符串。我收到“命令未找到”错误。我如何比较字符串?
代码:
#!/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
答案 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