我有以下 bash 脚本:
#!/bin/bash
echo "Enter your name: "
read name
if [ ${name}=="sam" ]
then
echo "Hi Sam!"
else
echo "Who the hell are you?"
fi
Run Code Online (Sandbox Code Playgroud)
我希望它显示“你到底是谁?” 如果输入的名称不是“sam”。但它显示“嗨,山姆!” 即使我输入随机字符串。
这里有什么问题?
请阅读有关使用条件表达式的 bash 教程和手册,例如[ ]
和test
。
简而言之:
==
,=
就足够了。=
否则您不是将表达式的右侧部分分配给左侧部分,而是进行比较。最终结果:
if [ "${name}" = "sam" ]
Run Code Online (Sandbox Code Playgroud)