【发布时间】:2015-07-23 17:20:30
【问题描述】:
CorrectInstance=DEV
Instance_Name=DEV
if [ $Instance_Name == $CorrectInstance ]
then
echo "Instance validated sucessfully"
else
echo "Instance validation failed. Script exited."
exit
fi
当我在脚本上方运行时,我遇到了错误。
Match.sh[3]: ^M: not found [No such file or directory]
Match.sh: line 3: syntax error at line 10: `fi' unexpected
请多多指教
【问题讨论】:
-
与眼前的问题无关,应该是
[ "$Instance_name" = "$CorrectInstance" ]。也就是说,=而不是==(因为后者是 POSIX sh 标准未定义的扩展名),并在所有扩展名周围加上引号(因此您的测试命令中的空格、全局字符等不能打破它的语法)。这些问题可以通过shellcheck.net 自动发现