两个实用的shell脚本实例

今天主要分享两个shell脚本实例,内容不重要,重点是看如何去实现。

 

1. 批量创建特殊要求用户

需求:批量创建10个系统帐号hwb01-hwb10并设置密码(密码为随机数,要求字符和数字等混合)。

脚本:

#!/bin/bash 
############################################################# 
# File Name: add_user.sh 
############################################################# 
? 
Passwd_File=/tmp/`uuidgen`.txt 
>$Passwd_File 
chmod 400 $Passwd_File 
? 
for 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" 
 fi 
done

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

东莞vi设计https://www.houdianzi.com/dgvi/ 豌豆资源网站大全https://55wd.com

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 
 fi 
done

两个实用的shell脚本实例

上一篇:Linux命令 -- firewalld 防火墙


下一篇:Memcached 统计items 命令