2017-07-11 75 views
0

我正在编写一个shell脚本,每90天更改一次OS用户的密码。我将把脚本放在cron.Need中,以帮助将密码中的字符增加1。 89天后密码应该变成sifs4you2。shell脚本每90天自动更改一次密码

#!/bin/bash 
for i in `more userlist.txt ` 
do 
echo $i 
echo "sifs4you1" | passwd --stdin "$i" 
echo; 
#mailx -s "New Password for OS Users" <email> < /home/scripts/passwdsript.sh 

完成

+0

'对于我在\'更多userlist.txt \''是非常差 - 考虑使用'while read ... done

回答

0
awk '{ match($0,/[[:digit:]]+$/);cnt=substr($0,RSTART,RLENGTH);print substr($0,1,RSTART-1)cnt+1}' <<< $i 

随着AWK和$ I包含密码被递增,我们首先进行1个或多个数字在密码的末尾匹配的密码,读取结果入变量与substr函数一起使用。然后我们打印出密码的其余部分,并将cnt加1,以形成新的密码。