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
shell實例分享:批量創建特殊要求用戶和篩選符合長度的單詞

結果:

shell實例分享:批量創建特殊要求用戶和篩選符合長度的單詞

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
shell實例分享:批量創建特殊要求用戶和篩選符合長度的單詞


2、篩選符合長度的單詞

利用bash for循環打印下面這句話中字母數不大於6的單詞(某企業面試真題)。

腳本:

#!/bin/bash
#############################################################
# File Name: changdu.sh
#############################################################
Word='I am hwb Welcome to my/>​
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實例分享:批量創建特殊要求用戶和篩選符合長度的單詞

結果:

shell實例分享:批量創建特殊要求用戶和篩選符合長度的單詞


覺得有用的朋友多幫忙轉發哦!後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~

shell實例分享:批量創建特殊要求用戶和篩選符合長度的單詞


分享到:


相關文章: