【发布时间】:2013-06-20 13:40:05
【问题描述】:
#!/bin/sh
number=`who | wc -l`
case $number in
1)
echo "Just you"
;;
2)
echo "Company"
;;
3)
echo "A Crowd"
;;
esac
我正在尝试学习案例陈述,但我不明白为什么我会在问题中收到特定的错误消息。要清楚,消息是 `newline 或 ;'出乎意料。它没有给我语法错误的行号。我确信有一个简单的答案。提前致谢。如果我可以更清楚,请告诉我。
【问题讨论】:
-
#!/bin/sh或标签:ksh ?还有一件事:代码在我的 ubuntu 系统上与/bin/sh原样工作。但是无法在 solaris 上尝试。 -
我的印象是没关系。我实际上正在使用 ksh,但是当我将其切换到 #!/bin/sh 时,我仍然收到错误消息。
-
在 solaris 上,
/bin/sh是 bourne shell。显然它不喜欢案例陈述。继续使用/bin/ksh或/usr/xpg4/bin/ksh(如果存在,可能是您系统上较新的ksh。祝你好运。
标签: shell unix solaris ksh case-statement