2013-06-20 24 views
0
#!/bin/sh 
number=`who | wc -l` 
case $number in 
1) 
    echo "Just you" 
    ;; 
2) 
    echo "Company" 
    ;; 
3) 
    echo "A Crowd" 
    ;; 
esac 

我試圖學習病例陳述,我不明白爲什麼我會在問題中得到具體的錯誤消息。要清除消息是`換行或;'意想不到的。它不給我一個語法錯誤的行號。我確定有一個簡單的答案。提前致謝。如果我可以更清楚,請讓我知道。爲什麼我會得到`換行符或';'意外的錯誤訊息?

+1

'#!/ bin/sh'或者標籤:[tag:ksh]?還有一件事:代碼在我的ubuntu系統上按照'/ bin/sh'運行。雖然不能嘗試solaris。 – anishsane

+0

我的印象並不重要。我實際上使用ksh,但是當我將其切換到#!/ bin/sh時,我仍然收到錯誤消息。 solaris上的 –

+1

,'/ bin/sh'是Bourne shell。顯然它不喜歡大小寫的說明。留在'/ bin/ksh'或'/ usr/xpg4/bin/ksh'(如果它存在可能是你的系統中較新的'ksh',祝你好運。 – shellter

回答

1

在Solaris 10上,當運行腳本時,我得到一個$ number值,在1之前有一些空白字符,而不僅僅是1 我認爲$ number值需要轉換爲數字。

相關問題