bash shell循环后面加&_分享两个实用的shell脚本实例,值得收藏

本文分享了两个实用的Shell脚本实例:一是批量创建用户并设置随机密码;二是筛选字符串中特定长度的单词。通过这两个例子,读者可以了解如何用Shell脚本解决实际问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

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


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

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

脚本:

#!/bin/bash############################################################## File Name: add_user.sh#############################################################​Passwd_File=/tmp/`uuidgen`.txt>$Passwd_Filechmod 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" fidone
f503f18332db388c41cf9a924e7491e1.png

结果:

2c78f919def651dbe747e950b3f71222.png

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
6f45834c0a76f0678281fd75c28af356.png

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
d9d1d207ca0dfb9885c7bb5e5864604e.png

结果:

1bcf709bba358ccbd3c407aea5974859.png

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

1fcc2f6732ff1f86cca2e3506cbf75be.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值