shell脚本基础(shift位置变量的迁移)

shift命令使位置变量下移一位(即$2代替$1,$3代替$2),并且使$#变量递减,当最后一个参数也显示给用户后,$#就会等于0,同时$*也等于空

vim shift.sh
#!/bin/bash

while [ $# -ne 0 ]
do
        echo $1
        shift
done
chmod +x shift.sh
sh -x ./shift.sh 1 2 3
+ '[' 3 -ne 0 ']'
+ echo 1
1
+ shift
+ '[' 2 -ne 0 ']'
+ echo 2
2
+ shift
+ '[' 1 -ne 0 ']'
+ echo 3
3
+ shift
+ '[' 0 -ne 0 ']'

========================

vim user_passwd.txt
uu01    123
uu02    456
uu03    789
uu04    012
uu05    345

每次给脚本传递两个变量,然后再把变量迁移掉

vim while_useradd_shift.sh
#!/bin/bash

while [ $# -ne 0 ]
do
        useradd $1
        echo $2 | passwd --stdin $1
        shift 2
done
./while_useradd_shift.sh  `cat user_passwd.txt`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值