shell编程 if else

exit0 exit1 的区别

exit(0):正常运行程序并退出程序;
exit(1):非正常运行导致退出程序;
exit 0 可以告知你的程序的使用者:你的程序是正常结束的。如果 exit 非 0 值,那么你的程序的使用者通常会认为你的程序产生了一个错误。
在 shell 中调用完你的程序之后,用 echo $? 命令就可以看到你的程序的 exit 值。在 shell 脚本中,通常会根据上一个命令的 $? 值来进行一些流程控制。

if else的用法

if else的简化版本

首先写一下在.sh文件中常用的语法,也就是if else的简化版本。
最常用的if简化就是使用&& 和||表示。

  • && :表示如果符号&&前面表达式为真,则执行&&符号后面的表达式。
#检查/var/run/dhcpd.pid文件是否存在,如果存在就删掉
#-f表示文件存在
[ -f /var/run/dhcpd.pid ] && rm /var/run/dhcpd.pid  
  • ||:表示如果符号||前面表达式为假,则执行||符号后面的表达式。
#检验文件/usr/sbin/dhcpd是否存在,如果不存在就退出
[ -f /usr/sbin/dhcpd ] || exit 0   
  • 使用if简化 和$1,$2,$3来检测参数,不合理就调用help。
#如果第一个参数不存在(-z 字符串长度为0 )
[ -z "$1" ] && help       
#如果第一个参数是-h,就显示help          
[ "$1" = "-h" ] && help             
#上述等号=两边要有空格才表示=是等号   

条件表示式

在这里插入图片描述
常用内容

if [ -f file ] :如果文件存在
if [ -d … ] :如果目录存在
if [ -s file ] :如果文件存在且非空
if [ -r file ] :如果文件存在且可读
if [ -w file ] :如果文件存在且可写
if [ -x file ] : 如果文件存在且可执行

Attention:整数条件表达式,大于,小于,shell里没有> 和< ,会被当作尖括号,只有-ge,-gt,-le,lt!!!条件表达式一定要有fi结尾!!!

参考链接

感谢原博主们的辛勤工作和贡献。
https://blog.csdn.net/w1418899532/article/details/89737687
https://blog.csdn.net/super_gnu/article/details/77099395

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值