当前位置: 技术问答>linux和unix
shell 编程的小问题!!求教!!
来源: 互联网 发布时间:2017-01-06
本文导语: 学shell第一天一个题目: 使用vi编辑器编写一段Shell程序,取名为mycal,实现与Linux中cal命令类似的功能,当输入: $mycal [月份名] 年时,屏幕输出指定的年月的月历。例如: $mycal October 2009 屏幕输出2009年10月的...
学shell第一天一个题目:
使用vi编辑器编写一段Shell程序,取名为mycal,实现与Linux中cal命令类似的功能,当输入:
$mycal [月份名] 年时,屏幕输出指定的年月的月历。例如:
$mycal October 2009
屏幕输出2009年10月的月历。
我编写的代码如下:
#!/bin/sh
case "$#" in
0) cal
;;
1) cal $1
;;
2) case "$1" in
october|OCTOBER)
cal 10 $2
;;
esac
*) echo "parameter error"
esac
为什么不行 总是报错,请问谁能给我个正确的答案 ?谢谢!
使用vi编辑器编写一段Shell程序,取名为mycal,实现与Linux中cal命令类似的功能,当输入:
$mycal [月份名] 年时,屏幕输出指定的年月的月历。例如:
$mycal October 2009
屏幕输出2009年10月的月历。
我编写的代码如下:
#!/bin/sh
case "$#" in
0) cal
;;
1) cal $1
;;
2) case "$1" in
october|OCTOBER)
cal 10 $2
;;
esac
*) echo "parameter error"
esac
为什么不行 总是报错,请问谁能给我个正确的答案 ?谢谢!
|
倒数第二个esac去掉
|
外层分支2)忘记了;;结束了。
#!/bin/sh
case "$#" in
0) cal
;;
1) cal $1
;;
2) case "$1" in
october|OCTOBER)
cal 10 $2
;;
esac
;;
*) echo "parameter error"
esac
#!/bin/sh
case "$#" in
0) cal
;;
1) cal $1
;;
2) case "$1" in
october|OCTOBER)
cal 10 $2
;;
esac
;;
*) echo "parameter error"
esac
|
#!/bin/sh
case "$#" in
0) cal
;;
1) cal $1
;;
2) case "$1" in
october|OCTOBER) cal 10 $2
;;
esac
;;
*) echo "parameter error"
;;
esac
请核对后自行改正,如果显示正确结果,及时回复;如果错误,请告知。
谢谢
case "$#" in
0) cal
;;
1) cal $1
;;
2) case "$1" in
october|OCTOBER) cal 10 $2
;;
esac
;;
*) echo "parameter error"
;;
esac
请核对后自行改正,如果显示正确结果,及时回复;如果错误,请告知。
谢谢
|
;;//少了这个
*)
*)