遍历多个值
与加强for'循环差不多。【do】开始【done】结束。
1. for info in 王先生 龙姑娘 李少爷 张小姐 2. do 3. echo "欢迎 ${info} 光临" 4. done
花括号代表变量作用域,如果是连续字符建议使用,不是连续字符用不用都行
for info in 王先生 龙姑娘 李少爷 张小姐 do echo "欢迎 $info 光临" done
数组
数组操作就一定要加上作用域【{}】,使用方法与传统语法类似,下标都是从【0】开始
array=("王语嫣" "赵灵儿" "小龙女" "赵敏" "敏敏特穆尔") echo ${array[0]} echo ${array[1]}
输出数组信息
echo ${array[@]}
获取数组长度
echo ${#array[@]}
如果加上描述,建议用上双引号,与显示信息不同,这里有一个【#】符号
echo "数组长度:"${#array[@]}
范围查询
echo ${array[@]:2:4}
传递参数
编辑测试脚本
cd /root/ vi test.sh
输入以下编码:
#!/bin/sh echo "Shell 在执行过程中传值:" echo " 执行人:$1" echo " 第 1 个参数为:$2" echo " 第 2 个参数为:$3" echo " 第 3 个参数为:$4"
读取变量是从【0】开始,但是由于第一个命令要执行【./脚本】,故而从【1】进行获取
运算符
流程控制语句(后续请使用vim编辑器,否则容易出现【未预期的文件结尾】的问题)
分支语句
关键字:if、elif、else、fi。
再次编辑【test.sh】文件
vim test.sh
#!/bin/sh a=10 b=20 if [ $a == $b ]; then echo "a 等于 b" elif [ $a -gt $b ]; then echo "a 大于 b" elif [ $a -lt $b ]; then echo "a 小于 b" else echo " 没有符合的条件 " fi