
简介
shell是C 语言编写的程序,是向操作访问Linux内核的桥梁。shell也是测试人员需要简单必备的一项小技能,至少能看懂并简单编写脚本,可以让与Linux相关的操作提升1个level。
扩展名:.sh
运行操作系统:Linux
运行环境:
BourneShell(/usr/bin/sh或/bin/sh)BourneAgain Shell(/bin/bash)
2、文件声明
# #!声明执行脚本文件的 Shell 程序#!/bin/bash#!/bin/sh
03、脚本运行
(1)cd进入脚本所在的路径,执行以下脚本
./test.sh
如果脚本没有执行权限,添加执行权限
chmod +x ./test.sh
备注:./表示在当前目录下查找文件
(2)解释器直接运行
/bin/sh test.sh
04、脚本语法
01
注释
01、单行注释
# 注释的内容
02、多行注释
:<<EOF注释的内容EOF
备注:这里的EOF也可以使用其他符号,只要前后成对出现就可以了
# 这是单行注释的内容:<<EOF这是多行注释内容EOF:<<!这是感叹号多行注释内容!
02
单双反引号
单引号:'',字符原样输出,不能输出变量
双引号:"",可以输出变量
反引号:``,反引号内的字符串当做命令执行
#!/bin/basha='单引号'b="双引号"echo$aecho$becho'输出变量$a'echo"输出变量$b"# 输出单引号双引号输出变量$a输出变量双引号
反引号:
# 反引号c=`date`echo$c# 输出Wed22 Feb 2023 03:50:05 AM UTC
03
echo打印
说明:打印输出
语法:echo "输出内容"
#!/bin/bash# 输出字符串echo"Hello World !"# 输出变量a=123echo$a
04
设置变量
语法:变量名 = 值
备注:等号左右不能有空格
a="Hello"
引用变量
语法:$a
echo$a
05
参数传递
参数可以从执行脚本时传入。
语法:$n,n从1开始,表示接收第一个参数的值
如执行脚本./test.sh 1 2,脚本中使用$1表示1,$2表示2
创建test.sh文件,编写以下脚本内容:
#!/bin/bashecho$1echo$2# 查看传递的参数个数用$#表示echo"传递$#个参数"# 查看所有传递参数的值echo $*
执行test.sh的脚本,参数使用空格分隔开
./test.sh1 2# 输出12传递2个参数12
06
expr计算
说明:表达式计算工具
语法:expr 计算公式
#!/bin/basha=1b=2echo `expr $a + $b`# 输出3
07
控制流程
01、if...else
语法:
# ifif 条件then 语句fi# if-elseif 条件then 语句else 语句fi# if-elif...if 条件then 语句elif 条件then 语句else 语句fi
举例:
#!/bin/basha=5if (($a<5))then echo"小于5"elif (($a>5))then echo"大于5"else echo"等于5"fi# 输出等于5
02、while
while:符合条件,循环执行,直到不符合条件结束
语法:
while 条件do 语句done
举例:
#!/bin/basha=3while (($a<5))do let"a++" echo"a小于5加1"done# 输出a小于5加1a小于5加1
03、until
until:循环执行,直到条件为真
语法:
until 条件do 语句done
举例:
#!/bin/basha=3until (($a>5))do let"a++" echo"a小于5加1"done# 输出a小于5加1a小于5加1a小于5加1
08
exit退出
exit:退出shell程序,默认值为0,1则为非正常退出
举例:
# 如果满足条件,则正常退出,否则非正常退出#!/bin/basha=2if (($a==2))then echo"正常退出" exit 0else echo"异常退出" exit 1fi# 输出正常退出
09
for循环
语法:
forvarindo 语句done
举例:
#!/bin/bashfor i in Hello Worlddo echo$idone# 输出HelloWorld
10
函数
语法:
# 定义func(){ 函数内容}# 调用func
举例:
#!/bin/bash# 定义函数a(){ echo"这是函数内部"}# 调用函数a# 输出这是函数内部
今天的分享就到此结束了, 如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入下方我们的测试交流群大家一起讨论交流学习。
