shell笔记2

1.shell分支if语句
if [ 判断条件 ]
then
fi


if [ 判断条件1 ];then
elif [ 判断条件2 ];then
else
fi
2.shell分支case语句
case $ 变量 in
)
list1
;;
)
list2
;;
*)
list3
;;
esac
3.shell循环-for语句
for i in {取值范围} # i是变量 for in 都是关键字
do
# 循环体
done
for (( i=1 ;i <5 ; i++ ))
do
echo “¥i” #此处应该是英文符号防止乱码替换
done
let #在shell中可以使用let来指示下面是算术表达式,let表达式内变量不用加$

 seq   #打印序列号  只跟数字  seq 1 3 就是输出 1 2 3

3.shell循环while语句
while 条件
do
循环体
done
4.shell里的循环until语句
until 条件
do
循环体
done
5.shell循环控制shift continue break exit
shift命令
#位置参数可以用shift命令左移。比如shift 3表示原来的$4现在变成$1,原来的$5变成现在的$2等等,原来的$1 $2 $3丢弃,$0不移动。不带参数的shift命令相当于shift 1
break #结束循环
continue #在循环中不执行continue下面的代码,转而进入下一轮循环
exit #退出脚本
6.编程-函数
local 变量名 #变量只在函数内生效。属于局部变量
语法:
function_name (){
list of commands
}
#调用 函数必须提前定义测试既需要卸载上面,执行在下面.
function_name
#取消函数
unset function_name
7.函数传参
在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 位置参数来进行传参的,$1表示第一个参数,$2表示第二个参数…
fun(){
echo $[ $1*$2*$3]
}
fun $1 $2 $3
8.shell编程-数组
数组:数组也是一种变量,常规变量,常规变量只能保存一个值,数组可以保存多个值。
#普通数组 :只能用整数作为数组的索引–0 下标
#关联数组 : 可以使用字符串作为数组的索引
books=(linux shell awk sed)
echo ${books[ 0 ]}
#关联数组需要提前声明
declare [-选项]
-a :定义为数组
-A:定义为关联数组
marry =([name]=ee [sex]=man)
echo ${marry[name]}
数组两种赋值
name[0]=lky
name[1]=lky1
name =( lky lky1)
echo ${name[@]} #访问数组里所有的元素等同于echo ${name[]}
echo ${name[@]}
#统计元素的个数
echo ${ ! name[@]} #打印数组所有的索引
关于在shell脚本中数组变量中 “*”跟 “@” 区别
1.*当变量加上"" 会当成一串字符串处理.
2.@当变量加上"" 依然当做数组处理.
3.在没有加上"" 的情况下效果是一样的数组

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值