1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 运维 - 正文

君子好学,自强不息!

今天主要分享两个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

分享两个实用的shell脚本实例,值得收藏

结果:

分享两个实用的shell脚本实例,值得收藏

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

分享两个实用的shell脚本实例,值得收藏

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

分享两个实用的shell脚本实例,值得收藏

结果:

分享两个实用的shell脚本实例,值得收藏

本文来源:1818IP

本文地址:https://www.1818ip.com/post/9420.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。