#!/bin/bash
function getComment(){
local lang=$1;
local theComment=$2;
if [$lang == "Java"] #Surprisingly, an error occurs here: prog.sh: line 6: [Java: command not found
then
echo "//"$theComment; return;
else
echo "Language not found!"; return;
fi
}
getComment "Java" "Whoo!";
exit $?
我正在编写一个将变量与字符串文字进行比较的 Bash 脚本,并且我正在使用[$lang == "Java"]
(如上所示)来比较 to 的lang
值"Java"
。但是,此比较会产生以下错误:
stderr:
prog.sh: line 6: [Java: command not found
我也尝试过使用[$lang -eq "Java"]
and ($lang -eq "Java")
,但是这些语句也不起作用,并且它们产生了完全相同的错误。
为什么会发生此错误,将局部变量与字符串文字进行比较的正确方法是什么?