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

运维 系统运维
今天主要分享两个shell脚本实例,内容不重要,重点是看如何去实现。下面,我们一起来看。

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

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

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

脚本:

  1. #!/bin/bash 
  2. ############################################################# 
  3. # File Name: add_user.sh 
  4. ############################################################# 
  5. ​ 
  6. Passwd_File=/tmp/`uuidgen`.txt 
  7. >$Passwd_File 
  8. chmod 400 $Passwd_File 
  9. ​ 
  10. for i in hwb{01..10} 
  11.  do 
  12.  userdel -r "$i" &>/dev/null 
  13.  id $i &>/dev/null 
  14.  if [ $? -ne 0 ] 
  15.  then 
  16.  useradd $i 
  17.  PassWd=`uuidgen` 
  18.  echo $PassWd |passwd --stdin $i &>/dev/null 
  19.  echo "用户名:$i 密码:$PassWd" >>$Passwd_File 
  20.  echo -e "\033[32m $i 用户创建成功!\033[0m" 
  21.  else  
  22.  echo "$i 用户已存在" 
  23.  fi 
  24.  if [ "$i" == "hwb10" ]  
  25.  then 
  26.  echo "用户密码请查看文件 $Passwd_File" 
  27.  fi 
  28. done 

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

结果:

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

ps:批量创建用户并设置随机密码(不使用shell循环)

方法一:

  1. 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 

方法二:

  1. 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 

方法三:

  1. 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 

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

2. 筛选符合长度的单词

利用bash for循环打印下面这句话中字母数不大于6的单词(某企业面试真题)。

脚本:

  1. #!/bin/bash 
  2. ############################################################# 
  3. # File Name: changdu.sh 
  4. ############################################################# 
  5. Word='I am hwb Welcome to my toutiao https://mp.toutiao.com/profile_v3/index' 
  6. ​ 
  7. for i in $Word 
  8.  do  
  9.  #[ ${#i} -le 6 ] && echo $i #子串方法 
  10.  a=`echo $i |wc -L` 
  11.  if [ $a -le 6 ] 
  12.  then  
  13.  echo $i 
  14.  fi 
  15. done 

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

结果:

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

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2019-08-13 11:53:01

脚本语言AWKBash

2019-08-09 13:50:08

shellLinux

2019-07-31 08:03:45

Oracle数据库巡检脚本

2019-08-12 08:47:14

脚本语言数据库MySQL

2023-08-03 07:05:28

电脑软件工具

2021-04-11 07:56:42

ShellLinux

2021-04-15 11:21:26

Shell脚本Linux

2020-08-31 11:40:54

VimLinux字符

2019-10-09 16:08:21

PythonPython教程Python 开发

2019-08-26 10:15:29

脚本索引数据库

2023-11-06 18:48:31

LinuxShell

2022-07-21 14:38:17

PythonShell

2019-07-17 07:07:54

MySQL数据库索引

2020-12-11 07:00:42

MySQL数据库备份脚本

2019-08-12 07:45:44

Linux脚本shell

2021-01-08 16:27:52

SQL数据库开发

2009-07-15 18:29:22

Jython应用

2022-06-24 10:02:43

PythonShell脚本

2019-12-02 08:58:09

SQL脚本语言MySQL

2023-12-01 15:50:46

点赞
收藏

51CTO技术栈公众号