#!/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"),但是这些语句也不起作用,并且它们产生了完全相同的错误。
为什么会发生此错误,将局部变量与字符串文字进行比较的正确方法是什么?