2013-04-04 67 views
0

該代碼應該需要一個小時作爲輸入,然後說早上好,下午或晚上。 當代碼與12運行它說,如果語句的語法錯誤,但它正常工作與0這個簡單的C Shell腳本中的錯誤是什麼?

#!/bin/csh 
# 
# Time of day greeting 
# 
# usage: greet [hour between 0-23] 
# 
if ($#argv == 0) then 
    set hour = 'date +%H' 
    else 
    set hour = $argv[1] 
endif 
# 
if ($hour < 12) then 
echo "Good Morning\!" 
else 
if (hour < 18) then 
echo "Good Afternoon\!" 
else 
echo "Good Evening\!" 
endif 
endif 
# 
exit 0 
# 

回答

1

你的第二個if語句沒有在hour前面一個美元符號。