我在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'而不是''',這會更清晰。 –