• 分享两个实用的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 "33[32m $i 用户创建成功!33[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</tmp/user_passwd.txt#g'|bash
    分享两个实用的shell脚本实例,值得收藏

    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脚本实例,值得收藏

    结果:

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



  • 相关阅读:
    ORACLE 数据迁移到SQL SEVER2005的问题
    sql server性能分析检测数据库阻塞语句
    经典存储过程
    sql server性能分析查询死锁的sql语句
    sql server性能分析索引使用效率评估
    discuz!X2.5不改代码即可去掉网址后面的forum.php后缀
    discuz!X2.5伪静态设置
    详解ListView
    frameset、frame和iframe的区别
    android中的Context到底该怎么用
  • 原文地址:https://www.cnblogs.com/winson-317/p/12685009.html
Copyright © 2020-2023  润新知