我在UNIX上使用VoiceOver Utility在Mac OS X上制作一个琐事游戏。我的shell脚本如下。为什么我的if-else条件不起作用?有任何想法吗?UNIX shell脚本 - if else条件
#!/bin/sh
clear
echo "Hey Gamers! Thanks for playing MARVEL COMICS"
echo "What is your super hero name?"
say -v Victoria "What is your super hero name?"
read name
echo "$name, sounds like a pretty epic hero."
say -v Victoria "$name, sounds like a pretty epic hero."
echo "See if you know the names of other epic heroes from Marvel Comics."
say -v Victoria "See if you know the names of other epic heroes from Marvel Comics."
echo "#1. World War 2 Veteran, Steve Rogers, is also known by what super hero name?"
say -v Victoria "World War 2 Veteran, Steve Rogers, is also known by what super hero name?"
read answer1
if [$answer1 = "captain america"]
then
echo "CORRECT. - Steve Rogers is Captain America."
say -v Victoria "Correct. Steve Rogers is Captain America.";
else
echo "INCORRECT. - Steve Rogers is Captain America"
say -v Victoria "Incorrect. Steve Rogers is Captain America"
fi
用'if [“$ answer1”=“美国队长”]测试它(看看空格) – higuaro
谢谢higuaro。不幸的是,双引号方法不能修复程序。 – ctaylorgraphics
注意''后面的空格。 '['是一个命令,但'$ answer1'的值不太可能是'[$ answer1'是一个有效的命令。你希望''answer1“'成为命令'['的第一个参数,所以你需要在'['后面插入一个空格。如果使用'test'而不是''',这会更清晰。 –