LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: MyRee

刚学shell,请帮我分析一下[基本解决]

[复制链接]
发表于 2004-4-22 18:36:41 | 显示全部楼层

回复: 刚学shell,请帮我分析一下,谢谢啦

最初由 MyRee 发表
#!/bin/bash        
case $# in               /*不懂$#是等什么输入*/
0)set 'date';m=$2;y=$6;;   /*不懂m,y分别代表月年,但是$2,6是干吗的*/
1)m=$1;set 'date';y=$6;;  /*m=$1??上面设置过了还要set?*/
*)m=$1;y=$2;;
esac                       /*是什么标志?*/
case $m in                  /*这个懂点,是不是等月的输入?*/
jan*|Jan*)m=1;;
feb*|Feb*)m=2;;
mar*|Mar*)m=3;;
apr*|Apr*)m=4;;
may*|May*)m=5;;
jun*|Jun*)m=6;;
jul*|Jul*)m=7;;
aug*|Aug*)m=8;;
sep*|Sep*)m=9;;
oct*|Oct*)m=10;;
nov*|Nov*)m=11;;
dec*|Dec*)m=12;;
[1-9]|10|11|12);;
*)y=$m;m="";;                         /*是default的选项*/
esac
cal $m $y                              /*这个是干吗的?*/
以上是程序
程序我运行过,功能也知道,但是就是不知道怎么做的
帮我总体说说?然后在帮我解释解释我注明的那几句?
谢谢
我菜菜啦


兄台,你的源码儿哪来的

这可是著名的Brian W.Kernighan & Rob Pike 写的
《The UNIX Programming Environment》
第五章 shell编程
里的第一个例子,

估计在上大学吧,
强烈建议去图书馆把这本书借来看看,
绝对经典


对了,在shell里注释最好用"#"
hehe
发表于 2004-4-22 19:03:12 | 显示全部楼层
最初由 MyRee 发表
说出来不好意思:我是计算机系的
C/C++都会

如果精通C的话,学shell code应该感觉很简单才对啊。在下以前就是C程序员,我寒假花了1天就基本入门了,当天还编写了dellink脚本。
之所以说简单,因为shell本身就是粘合剂,它操作的单位是命令,这一点比高级编程语言C容易多了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表