一个shell脚本引发的对于分号的使用说明

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

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

第一种

test(){
     if [ 1 -eq 1 ]; then
          echo "1=1"
     else
          echo "1!=1"
     fi
}

第二种

test1(){
     if [ 1 -eq 1 ]
       then  echo "1=1"
       else  echo "1!=1"
     fi
}

第三种

test2(){ if [ 1 -eq 1 ] ; then echo "1=1" ; else echo "1!=1" ; fi }

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

补充

  • if语句后的表达式比较变量要与比较操作符用空格分开。if [ 1 -eq 1 ]不能写成if[ 1 -eq 1 ] 、if [1 -eq 1 ]、if [ 1 -eq 1]、if [ 1-eq1 ]
  • 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个字符

猜你喜欢

转载自blog.csdn.net/qq_39781497/article/details/82349214