Bash-Shell编程[shell条件测试]

本文详细介绍了Bash Shell编程中的条件测试,包括测试表达式和文件测试操作符。接着讲解了case语句和if流程控制结构,以及for和while/until循环的用法。此外,还介绍了Shell数组变量的创建、访问和遍历方法。文章最后提到了一些常用的Shell特殊符号和脚本执行及调试方法。
摘要由CSDN通过智能技术生成

shell条件测试

格式1:test 条件表达式
格式2:[ 条件表达式 ]
格式3:[[ 条件表达式 ]]
文件测试—操作符 文件或目录
test

  • -e dir|file判断文件或目录是否存在
  • -d dir测试是否是目录
  • -f file测试是否是文件
  • -r file测试当前用户对该文件是否有读权限

条件表达式

if [ 表达式 ];then
	执行语句
fi

模式匹配 case

case 变量 in
模式1)
	命令序列1
	;;
模式2)
	命令序列2
	;;
模式3)
	命令序列3
	;;
*)
	无匹配后命令序列
esac		

流程控制 if

  • 单分支结构
if 条件测试
then 命令序列
fi
  • 双分支结构
if 条件测试
then 命令序列
else 命令序列
fi
  • 多分支结构
if 条件测试
then 命令序列
elif 条件测试2
then 命令序列
...
fi

shell循环:for

循环次数是固定的

for 变量 [ in 取值列表 ]
do
	循环体
done

shell循环:while until

循环次数不一定是固定的

while 条件测试
do
	循环体
done
当条件测试成立(条件测试为真),执行循环体
until 条件测试
do
	循环体
done
当条件测试成立(条件测试为假),执行循环体

shell数组变量

普通数组:只能使用整数作为数组索引
关联数组:可以使用字符串作为数组索引
一、普通数组
定义数组:

  • 方法一
    • 数组名[下标 ]=变量值
    • array[0]=people
    • array[1]=student
    • array[2]=teacher
  • 方法二
    • 一次性赋多个值
    • arrary=(people,student,teacher)

查看数组:

- declre -a

访问数组元素:

- echo ${array[索引]}

遍历数组:

- 通过数组元素的索引进行遍历

二、关联数组
定义关联数组:

  • 声明关联数组遍历
    • declaer -A arrary
  • 方法一:一次赋一个值
    • 数组名[索引]=变量值
    • arrary[people]=student
    • arrary[color]=yellow
  • 方法二:一次赋多个值
    • arrary=([people]=student [color]=yellow)
      查看数组:

    • declre -A
      访问数组元素:

    • echo ${array[索引]}
      遍历数组:

    • 通过数组元素的索引进行遍历

补充

  • 符号
    • ( )子Shell中运行
    • ( ( ) )数值比较、运算
    • $( )命令替换
    • $( ( ) )整数运算
    • { }集合
    • $ { }变量的引用
    • [ ]条件测试
    • [ [ ] ] 条件测试,支持正则表达式
    • $[ ]整数运算
  • 执行脚本
    • ./文件.sh—需要执行权限—在子shell中执行
    • bash 文件.sh—不需要执行权限—在子shell中执行
    • . 文件.sh—不需要执行权限—在当前shell中执行
    • source 文件.sh—不需要执行权限—在当前shell中执行
  • 调试脚本
    • sh -n 文件.sh 仅调试syntax error
    • sh -vx 文件.sh 以调试的方式执行,查询整个执行过程

文章的最后给大家推荐一个公众号
小辅导-互联网开发者、多年一线程序开发经验
不定期分享各类资源
https://mp.weixin.qq.com/s/GqyiuwFOFJ3MkUJhwuA3_Q

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七七高7777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值