手把手教你在Linux下根据习题掌握编程思维 (22)
大家好,先和大家道个歉,很不好意思。。。昨天发的截图,又不是很清晰。。。。我也很无奈,不知道怎么弄啊,这也许就是个人经营自媒体号的无奈吧,没团队能商量。今天我还是直接复制粘贴吧。
今天和大家分享3道题。因为不知道怎么和大家说for…所以还是通过题说吧。。
##---------------------------------------------------------------------------##
1、 使用for循环在/aaa目录下批量创建10个HTML文件,其中每个文件需要包含10个随机小写字母加固定字符串123
答案:
[root@server /]# mkdir -p /aaa ;for i in $(seq 10) ; do touch /aaa/$(openssl rand -base64 40 |sed 's#[^a-z]##g' |cut -c 1-10)_123.html ; done
[root@server /]# ls /aaa
azetcaylye_123.html dmkpqmiskj_123.html ihlmnybqpa_123.html qhbooldqjy_123.html umhhvgsqgl_123.html cohyyrfrih_123.html iayrbpboxq_123.html iktyelgljb_123.html stwqwnmqpn_123.html xmorqubkco_123.html
2、 将例1中产生的文件名的123字符串全部换成best(最好用for循环实现),并且将扩展名html全部改写成大写。
答案:
[root@server /]# cd /aaa ; for FN in $(ls -l /aaa/ |awk 'NR!=1{print $NF}') ; do NFN=$(echo $FN |sed 's/123.html$/best.HTML/') ; mv $FN $NFN ; done
[root@server aaa]# ls /aaa
azetcaylye_best.HTML iayrbpboxq_best.HTML qhbooldqjy_best.HTML xmorqubkco_best.HTML cohyyrfrih_best.HTML ihlmnybqpa_best.HTML stwqwnmqpn_best.HTML dmkpqmiskj_best.HTML iktyelgljb_best.HTML umhhvgsqgl_best.HTML
或者可以用下面的
[root@server aaa]# cd /aaa ; rename 123.html best.HTML *.html
3、 批量创建10个系统帐号aaa01-aaa10并设置密码(密码为10个随机数,要求是大小写字母和数字的混合)。另外能够生成一个账户名及其对应的密码本,可以告诉给相应用户他们的密码,另外要求用户在第一次登陆系统的时候立即修改密码。
答案:
[root@server ceshi]# cat useradd.sh
#!/bin/bash
# Filename: useradd.sh
# Author : anjingdeshinian
>./ulist.txt
for i in $(seq 10)
do
[ $i -lt 10 ] && UNAME=aaa0$i || UNAME=aaa$i
PASS=$(openssl rand -base64 40 |sed 's#[^0-9a-zA-Z]##g' |cut -c 1-10)
echo "$UNAME --> $PASS" >> ./ulist.txt
useradd $UNAME
echo $PASS |passwd --stdin $UNAME &> /dev/null
chage -d 0 $UNAME
done
[root@server ceshi]# sh useradd.sh
[root@server ceshi]# cat ulist.txt
aaa01 --> wSSMFEi2Dl
aaa02 --> yTjjwvyuSD
aaa03 --> 4z6hOO3jOj
aaa04 --> DEVL6Kn3QZ
aaa05 --> OrQb3Z42TP
aaa06 --> VAwP5hYpQA
aaa07 --> uiY0dtyMMH
aaa08 --> 1qNkcTXMG0
aaa09 --> ezHSi4bhJF
aaa10 --> vWAwrAWx9k
[root@server ceshi]# tail -10 /etc/shadow
aaa01:$6$rf1b0FjE$IOp7cfRcvzQMvEfL/gTK1261X6IdJMjDN6OM8ajEEsUTptH2k25m18mbdnndWEXvbs6TgW0HrVe3jYIpMk9hT0:0:0:99999:7:::
aaa02:$6$x0XSPoBQ$ggMJOB9dlTGJhCSxSenq.ovEk7raez10csVIdcOzRXWk8dfrFDpEwCKj.fLxb0ak0NPD09iWJf4ZWKRsrwhLX/:0:0:99999:7:::
aaa03:$6$rsIxkLsO$N709h4ua2T.8caDXAz8gxHYpUPtEt1qtfdR2pz8pBMV8yqM7k8LGO4LWcx06cR8cPDR7o7gZIB5vPMaHCUgKh/:0:0:99999:7:::
aaa04:$6$iNi9SWRh$DFEtUWRizJviFMeGGk0Whsf6Y.CeHtv5qaCebEdUHxK2IKbdZ98YoGbDcQj2wH9ZO35DPvpdbCnEFQX.oq3gy.:0:0:99999:7:::
aaa05:$6$XlCGx3jf$asQaEchZJ88NQLjSrMOyudJApUZNrYAzZA2D2RRmMgP1luiJW3fHhPSW7fN35YwNr.I/tRJlIQ3gApHbl4gnC0:0:0:99999:7:::
aaa06:$6$3aaPBXEb$UuP/LCwdvp0oCgVe/CtwgoiWcYn9.5wGsPAfQ7DbA.NemMCfcmOaruvIFDK8yCqjBaZplUgKj6Hw4aIARyZt51:0:0:99999:7:::
aaa07:$6$KLPva7BH$sC2vBqSkVPLL34BjHZLobs8heTbOPWFJL51PJniMh.hkNHTu2X/Jid7xh2CVLSgXCpEmTplv/2j56yyJLS96L1:0:0:99999:7:::
aaa08:$6$rDX5beaB$H3WdOtCSVbHgdnkKgl2lPgehU0J2PFejtxUYbdpHT0Iu5G2eNjKwAk6G4liJKZCMo/lkVxPuGMKn/.3Ut/TIP/:0:0:99999:7:::
aaa09:$6$pKJND9.T$fsxSxvLPqXrcVZrZ72ZDYEwEzbwV7AVpm43XVG9O0UWlZnUQtQlNWRbg8ys2pwi1yFpysVhnZeC/tL3xFcRDZ/:0:0:99999:7:::
aaa10:$6$E2jl9M7g$93qEgvU.4TKrzM5zyo56yMmsil2cv1kVA6Y6PEnzg4CrFt6kGasm.Mvl3cGnX91kWVaTkjwPGtpgH1kAxzPAl1:0:0:99999:7:::
##---------------------------------------------------------------------------##
好吧,今天的分享就到这里吧,今天又是周一了,大家可能都会比较累,今天分享的不是很多,大家多看下for循环吧。
如果有不清楚的,大家可以看下我之前发布的文章,多看看,总会有收获的。或者在下面评论区留言,大家也可以一起讨论。
好吧,今天就到这里吧,大家明天见。
,