2017-07-11 102 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,以形成新的密碼。