shell脚本语法

shell脚本语法

条件测试test

数值测试

-eq  等于则为真

-ne  不等于则为真

-gt  大于则为真

-ge  大于等于则为真

-lt  小于则为真

-le  小于等于则为真

例:

 

 

结果:

 

 

 

 test可以用[]来代替,但要注意”[“后面和”]“前面要有空格

 

 

字符串测试

=  等于则为真

!=  不等于则为真

-z  字符串的长度为零则为真

-n  字符串的长度不为零则为真

文件测试:

-e  如果文件存在则为真

-r  如果文件存在且可读则为真

-w  如果文件存在且可写则为真

-x  如果文件存在且可执行则为真

-s  如果文件存在且至少有一个字符则为真

-d  如果文件存在且是目录则为真

-f  如果文件存在且是普通文件则为真

-c  如果文件存在且为字符型特殊文件则为真

 

流程控制:

条件分支if else

语法:

if 条件

then

  符合条件执行的命令

else

  不符合条件执行的命令

fi    //以此标志条件分支结束

如果为假没有要执行的命令,则不用写else,如果有多个不同的且不同时满足时,要用到elif

写成一行:if [条件];then 执行命令;fi

语法:

 

if 条件1

 

then

 

  符合条件1执行的命令

elif 条件2

then

  符合条件2执行命令

 

else

 

  不符合以上所有条件执行的命令

 

fi

 

for循环:

 

语法:

for i in item1 item2 ... itemn        或    for((i=1;i<10;i++))

do

  执行命令

done

 

while循环

语法:

while 条件        例 while(( $i<=5 ))

do

  执行命令

done  

死循环:

while : 或  while true

 

until循环

until 条件

do

  执行条件

done

  

case语句

case 值 in

  值1)

    执行命令

  ;;

  值2)

    执行命令

  ;;

esac

 

 

跳出循环:break跳出整个循环  continue跳出当前循环

 

函数:

定义函数:

[ function ] 函数名()

{

  函数内容

}

执行函数:直接写函数名,注意shell中函数调用不写括号

函数要先定义后执行,可以用$1,$2直接传入参数

 

posted @ 2020-04-01 18:43  倾心。  阅读(205)  评论(0)    收藏  举报