加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

关于shell脚本中分号(;)——命令分割符 的使用说明

(2013-05-28 22:30:55)
标签:

杂谈

分类: Linux

原帖地址:http://hi.baidu.com/lozard/item/6bf9de1b2e704ef1756a84e3

首先先看几种写法,这里用if语句作为例子。

第一种


   1: test(){

   2:      if [ 1 -eq 1 ]; then

   3:           echo "1=1"

   4:      else

   5:           echo "1!=1"

   6:      fi

   7: }

第二种


   1: test1(){

   2:      if [ 1 -eq 1 ]

   3:        then  echo "1=1"

   4:        else  echo "1!=1"

   5:      fi

   6: }

第三种


   1: test2(){if[1-eq1];thenecho"1=1";elseecho"1!=1";fi}

       由此可见分号是用来隔断每个语法关键字或命令的 。对于字符的比较及其他shell语法关键字之间分号的使用方式相同。需要知道的是在不同的语法命令之间要用分号隔开或是换行方能执行,否则将会在调用脚本的时候报错。

分号是多个语句之间的分隔符,
例如你下面这句:


   1: if[XXXXXXXXXXXXX];then
它完全等效于下面的两句:

   1: if[XXXXXXXXXXXXX]

   2: then

补充

if语句后的表达式比较变量要与比较操作符用空格分开
shell中用arrary=(arr1 arr2 arr3 ……) 的方式声明数组 
访问数组时使用${arrary[@]}访问整个数组 ,@表示数组索引表,使用${p[index]}访问数组中的某个特定的值 
变量赋值时变量名跟等号之间不能有空格 
$# ——传给shell程序的位置参数个数;$0 ——脚本名称;$? ——最后命令的完成码或在shell程序内所执行的shell程序;$n (n>0)——获取传递的第n个参数 
cd /opt/tomcat/tomcat*0     * 号代表匹配0..n个字符;cd /opt/tomcat/to?cat   ? 号代表匹配1个字符

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有