linux下shell编程小结

测试语句 : test 语句  
test  string1 =或  !=   string2  

可以使用 [  ] 代替test语句;  [ string1 = 或!= string2 ]

注意 [的右端至少有一个空格, ]的左端至少有一个空格   


注意 : 1、 获取测试结果  echo $?   0 : 成立 ; 1 : 不成立  

2、在比较的时候, = 或!=  左右两端必须有空格(至少要有一个空格) 

如果是一条test语句, 表示'与'使用 -a  ; 表示'或' 使用-o  
如果是两条test语句, 表示'与'使用&&   ; 表示'或' 使用 ||

整数 :  -eq(等于)  -ne(不等于) -gt(大于) -ge(大于等于) -lt(小于) -le(小于等于) 


文件 :


-e : 测试文件是否存在
-d : 测试文件是否存在并且为目录文件
-f : 测试文件是否存在并且为普通文件


-r :测试当前登录用户对该文件是否拥有读权限
-w :测试当前登录用户对该文件是否拥有写权限
-x :测试当前登录用户对该文件是否拥有执行权限




结构性语句  : 


if  语句 
then 
命令列表 
fi 


if 语句1 
then 
命令列表1
else if 语句2 
then 
命令列表2 
else if 语句3 
then 
命令列表3 
fi
fi
fi


注意: if 和 fi 的匹配 ; 
上面有几个if  , 下面代码中就要有几个fi对应匹配 

 
case 变量的引用 in 
模式1 )          # 支持 模式1 | 模式2 | 模式3) 形式  
命令列表1 
;;          #作用与C语言中的break相同,但是不能够省略;只有语句最末尾的可以省略
模式2)
命令列表2
;;
模式3)
命令列表3
;;
*)           # 该模式可以出现在任意的位置,但是会影响执行结果
命令列表n
;;
esac

for 循环语句 : 事先明确循环的执行次数, 使用for循环语句 


for 变量名 in  单词表  
do 
命令列表 
done


说明 : 变量从单词表中拿取单词, 每拿取一个单词, 循环执行一次
直到单词表中的所有单词被取完,循环执行结束;


for 变量名 
do 
命令列表 
done


说明: 如果没有 in 单词表部分 ; 单词表需要通过命令行传入 
(即循环的执行次数与命令行传入的参数个数有关)



while 命令或者表达式 
do 
命令列表 
done
说明: while 后面跟的命令或者表达式成立,执行循环体内的命令
不成立, 直接跳过while循环语句  


while :
do 
命令列表 
done
说明 : 死循环 , 相当于C语言中的while(1)




break ;  跳出当前层循环
break n ; 跳出n层循环
continue ; 结束本次循环, 继续下一次循环
continue n ; 结束n层循环的本次循环, 从循环开始的位置继续执行  







  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值