shell语法及shell进度条

本文详细介绍了Shell脚本中的条件测试,包括test和[命令的用法,以及与、或、非逻辑运算。同时,讲解了if/then/elif/else/fi语句,case/esac选择结构。此外,文章还探讨了不同类型的循环,如for、while、until,并展示了如何在循环中使用:命令。最后,提到了位置参数、特殊变量的使用,以及函数和数组的基本概念。
摘要由CSDN通过智能技术生成

1、条件测试

条件测试test[
命令test[都可以用了测试一个条件是否成立,如果测试的结果为真,那么exit status 为0,如果测试结果为假,则exit status 为1,(shell脚本中成立用0表示,不成立用1表示),例如比较两个数的大小

#!/bin/bash
val=10

[ $val -gt 5 ]
echo $?

test $val -gt 5
echo $?

[ $val -gt 20 ]
echo $?

test $val -gt 20
echo $?

输出结果:这里写图片描述
根据结果可以看出test[都可以测试一条命令的成立性,成功返回0,失败返回1;

测试命令:
[ -d DIR ] : 如果DIR存在并且是⼀一个⽬目录则为真
[ -f FILE ] : 如果FILE存在且是⼀一个普通⽂文件则为真
[ -z STRING ] : 如果STRING的长度为零则为真
[ -n STRING ] : 如果STRING的长度⾮非零则为真
[ STRING1 = STRING2 ] : 如果两个字符串相同则为真
[ STRING1 != STRING2 ] : 如果字符串不相同则为真
[ ARG1 OP ARG2 ] : ARG1和ARG2应该是整数或者取值为整数的变量,OP是-eq(等于)-ne(不等于)-lt(小于)-le(小于等于)-gt(大于)-ge(大于等于)之中的⼀一个 (整数判断和C语⾔言有很大差别)。

和C语言类似,测试条件之间还可以做与、或、非逻辑运算:
带与、或、非的测试命令
[ ! EXPR ] : EXPR可以是上表中的任意⼀一种测试条件,!表⽰示逻辑反
[ EXPR1 -a EXPR2 ] : EXPR1和EXPR2可以是上表中的任意⼀一种测试条件,-a表⽰示逻辑 与
[ EXPR1 -o EXPR2 ] : EXPR1和EXPR2可以是上表中的任意⼀一种测试条件,-o表⽰示逻辑 或
注意:在shell中入股一个变量不赋初始值,那么解释器就会将他解成一条空的字符串,在有些情况下会解释错误,在shell下,

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值