概述1、批量创建特殊要求用户需求:批量创建10个系统账号hwb01-hwb10并设置密码(密码为随机数,要求字符和数字等混合)。 脚本: #!/bin/bash############################################################## File Name: add_user.sh#############################################################Passwd_File=/tmp/`uuidgen`.txt>$Passwd_Filechmod 400 $Passwd_Filefor i in hwb{01..10} do userdel -r '$i' &>/dev/null id $i &>/dev/null if [ $? -ne 0 ] then useradd $i PassWd=`uuidgen` echo $PassWd |passwd --stdin $i &>/dev/null echo '用户名:$i 密码:$PassWd' >>$Passwd_File echo -e '\033[32m $i 用户创建成功!\033[0m' else echo '$i 用户已存在' fi if [ '$i' == 'hwb10' ] then echo '用户密码请查看文件 $Passwd_File' fidone 结果: ps:批量创建用户并设置随机密码(不使用shell循环) --方法一echo user{1..20}|xargs -n1|sed -r 's#(.*)#useradd \1 \&\& echo \1 >>/tmp/passwd.txt \&\& echo $RANDOM |md5sum |cut -c 1-5>>/tmp/passwd.txt \&\& echo `tail -1 /tmp/passwd.txt`|passwd --stdin \1#g'|bash--方法二echo user{1..20}|xargs -n1|sed -r 's#(.*)#useradd \1 \&\& pass=`echo $RANDOM |md5sum |cut -c 1-5` \&\& echo $pass |passwd --stdin \1 \&\& echo \1 $pass>>/tmp/user_passwd.txt#g'|bash--方法三echo user{1..20}|xargs -n1|sed -r 's#(.*)#useradd \1 \&\& pass=`echo $RANDOM |md5sum |cut -c 1-5` \&\& echo \1:$pass>>/tmp/user_passwd.txt \&\& chpasswd</tmp/user_passwd.txt#g'|bash 2、筛选符合长度的单词利用bash for循环打印下面这句话中字母数不大于6的单词(某企业面试真题)。 脚本: #!/bin/bash############################################################## File Name: changdu.sh#############################################################Word='I am hwb Welcome to my toutiao https://mp.toutiao.com/profile_v3/index'for i in $Word do #[ ${#i} -le 6 ] && echo $i #子串方法 a=`echo $i |wc -L` if [ $a -le 6 ] then echo $i fidone 结果: |
|