今天主要分享两个shell脚本实例,内容不重要,重点是看如何去实现。
1. 批量创建特殊要求用户
需求:批量创建10个系统帐号hwb01-hwb10并设置密码(密码为随机数,要求字符和数字等混合)。
脚本:
#!/bin/bash ############################################################# #FileName:add_user.sh ############################################################# Passwd_File=/tmp/`uuidgen`.txt >$Passwd_File chmod400$Passwd_File foriinhwb{01..10} do userdel-r"$i"&>/dev/null id$i&>/dev/null if[$?-ne0] 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" fi done
结果:
ps:批量创建用户并设置随机密码(不使用shell循环)
方法一:
echouser{1..20}|xargs-n1|sed-r's#(.*)#useradd\1\&\&echo\1>>/tmp/passwd.txt\&\&echo$RANDOM|md5sum|cut-c1-5>>/tmp/passwd.txt\&\&echo`tail-1/tmp/passwd.txt`|passwd--stdin\1#g'|bash
方法二:
echouser{1..20}|xargs-n1|sed-r's#(.*)#useradd\1\&\&pass=`echo$RANDOM|md5sum|cut-c1-5`\&\&echo$pass|passwd--stdin\1\&\&echo\1$pass>>/tmp/user_passwd.txt#g'|bash
方法三:
echouser{1..20}|xargs-n1|sed-r's#(.*)#useradd\1\&\&pass=`echo$RANDOM|md5sum|cut-c1-5`\&\&echo\1:$pass>>/tmp/user_passwd.txt\&\&chpasswd</tmp/user_passwd.txt#g'|bash
2. 筛选符合长度的单词
利用bash for循环打印下面这句话中字母数不大于6的单词(某企业面试真题)。
脚本:
#!/bin/bash ############################################################# #FileName:changdu.sh ############################################################# Word='IamhwbWelcometomytoutiaohttps://mp.toutiao.com/profile_v3/index' foriin$Word do #[${#i}-le6]&&echo$i#子串方法 a=`echo$i|wc-L` if[$a-le6] then echo$i fi done
结果:
相关文章
标签:系统运维