两个实用的shell脚本实例

更新日期: 2019-10-28阅读: 2.3k标签: 脚本

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

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


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


链接: https://fly63.com/article/detial/6198

javascript 3d 脚本库 - three.js的进行简要介绍

本文的目标是对three.js进行简要介绍。我们将从设置一个(案例)场景开始,使用一个旋转的立方体。在页面底部提供一个工作示例,以防您遇到困难,需要帮助。

mongodb shell 运行js脚本的四种方式

MongoDB 是一个基于分布式文件存储的数据库。是一个介于关系数据库和非关系数据库之间的产品。这篇文章讲解mongodb shell 运行js脚本的四种方式。

defer和async的区别

async 对于应用脚本的用处不大,因为它完全不考虑依赖(哪怕是最低级的顺序执行),不过它对于那些可以不依赖任何脚本或不被任何脚本依赖的脚本来说却是非常合适的,最典型的例子:Google Analytics

如何用网页脚本追踪用户

本文介绍如何编写 JavaScript 脚本,将用户数据发回服务器。数据发回服务器的常见做法是,将收集好的用户数据,放在unload事件里面,用 AJAX 请求发回服务器。

npm脚本执行多个任务

如果遇到一个类似的需求,比如执行npm publish命令前想先升级下项目的版本,基础操作是在shell中输入两次命令分别为npm run version和npm run publish,但是有没有更简单的方法呢?请看下面的内容:

8个实用Python的脚本,收藏备用

脚本写的好,下班下得早!程序员的日常工作除了编写程序代码,还不可避免地需要处理相关的测试和验证工作。例如,访问某个网站一直不通,需要确定此地址是否可访问,服务器返回什么,进而确定问题在于什么

如何将 FIBJS 脚本打包成 exe 可执行文件

本文将会介绍如何将 FIBJS 脚本打包成Windows 上的 exe 可执行文件。FIBJS 是一个主要为 Web 后端开发而设计的应用服务器开发框架,它建立在 Google v8 JavaScript 引擎基础上

Hershell:一款功能强大的跨平台反向Shell生成器

Hershell是一款功能强大的跨平台反向Shell生成器,该工具使用Go语言开发,基于TCP反向Shell实现其功能。该工具使用了TLS来保障数据通讯的安全性,并且提供了证书公共密钥指纹绑定功能来防止通信数据被拦截。

javascript中defer的作用是什么

defer是脚本程序强大功能中的一个“无名英雄”。它告诉浏览器Script段包含了无需立即执行的代码,并且,与SRC属性联合使用,它还可以使这些脚本在后台被下载,前台的内容则正常显示给用户。

javascript 动态解析脚本

一般而言,如果脚本很长,我们把它们放到一个JS文件中,然后生成一个script元素并把它加入DOM树,把src设置为JS文件的地址即可。但对于很自短的脚本,如果我们又不想用new Function与eval呢?

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!