本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/26726
bash编程
- 变量
- 引号
- 数组
- 控制语句
- if
- for
- while
- 函数
bash变量
变量命名规则
- 只能使用字母、数字和下划线,且不能以数字开头
- 中间不能有空格,可以使用_代替
- 不能使用特殊字符
- 不能使用bash关键字(可以使用help查看保留关键字)
- 变量名区分大小写,a和A是两个不同的变量
- 变量名可以使用大小写混编的形式进行编写
- 变量和值之间的=两侧都不能为空
- 在读取或打印变量时,需使用$+变量名
- 变量可以在写在bash脚本中的任何地方,在运行时,bash会自动将其替换为对应的值
定义与使用变量
- 定义变量:my_name = “abc”
- 使用变量:echo &my_name
只读变量
只读变量只能读,不能更改删除
a = "123"
readonly a
删除变量
unset my_name
变量类型
- 字符串:name=“hogwarts”
- 拼接字符串:hi = “hello,”$name"!"
- 数组:array_name = (value0 value1 value2)
- 取数组 value1 = ${array_name[1]}
- 单独赋值 array_name[0] =value0
控制语句
if
- if [a==b];代码块;else 代码块;fi
- if [[ a>b]];代码块; else 代码块;fi
- -gt -lt 可以只用一个中括号
a=10
b=20
if [ $a -eq $b ] ;then echo "a 等于 b";
elif [ $a -gt $b ]; then echo " a 大于 b";
elif [ $a -lt $b ]; then echo "a 小于 b";
fi
for循环
for var in item1 item2 item3 itemN
do
cmd1
cmd2
done
while循环
while condition
do
cmd
done
a =1
while (($a <5))
do
echo $a
let "a++"
done
while read i; do echo $i ; done<test.txt