shell脚本常用技巧

1.获取随机字符串或数字

~]#echo $RANDOM | md5sum | cut -c 1-6

~]#openssl rand -base64 4 | cut -c 1-6

~]#uuidgen | cut -c 1-6

2.获取随机数

~]#echo $RANDOM | cksum | cut -c 1-6

~]#openssl rand -base64 4 | chsum | cut -c 1-6

~]#date +%N | cut -c 1-6

3.自定义颜色输出字符串

function echo_color () {
if [ $1 == "green" ]; then
echo -e "\033[32;40m$2\033[0m"
elif [ $1 == "red" ]; then
echo -e "\033[31;40m$2\033[0m"
fi
}
function echo_color () {
case $1 in
green)
echo -e "\033[032;40m$2\033[0m"
;;
red)
echo -e "\033[032;40m$2\033[0m"
;;
*)
echo "Example: echo_color green string"
esac
}

4.批量创建用户

#!/bin/bash
DATE=$(date +%F_%T)
USER_FILE=user.txt echo_color () {
if [ $1 == "green" ];then
echo -e "\033[032;40m$2\033[0m"
elif [ $1 == "red" ];then
echo -e "\033[031;40m$2\033[0m"
fi
} if [ -s USER_FILE ];then
mv $USER_FILE ${USER_FILE}-${DATE}.bak
echo_color green "$USER_FILE exist, rename ${USER_FILE-${DATE}.bak"
fi
echo "Users\tPassword" >> $USER_FILE
echo "-----------------" >> $USER_FILE
for USER in user{1..10}; do
if ! id $USER &>/dev/null; then
PASS=$(echo $RANDOM | md5sum | cut -c 1-8)
useradd $USER
echo $PASS | passwd --stdin $USER &>/dev/null
echo -e $USER\t$PASS >>$USER_FILE
echo "$USER User create successful."
else
echo_color red "$USER User already exists."
fi
done

5.检查软件包是否安装

#!/bin/bash
if rpm -q sysstat &>/dev/null; then
echo "sysstat is already installed!"
else
echo "sysstat is not installed!"
fi

6.检查服务状态

#!/bin/bash
PORT_C=$(ss -anu | grep -c )
PS_C=$(ps -ef | grep -ntpd | grep -vc grep)
if [ $PORT_C -eq -o $PS_C -eq ];then
echo "content" | mail -s "summary" dst@example.com
fi

.

shell脚本常用技巧的更多相关文章

  1. shell脚本常用参数

    shell 脚本 常用参数 #!/bin/sh # 在脚本第一行脚本头 # sh为当前系统默认shell,可指定为bash等shell sh -x # 执行过程 sh -n # 检查语法 (a=bbk ...

  2. Shell 脚本常用命令

    Shell脚本是Linux开发工作中常用的工具,但是我一直没有找到一个适合自己的简明扼要的HandBook.在工作过程中整理了一下,贴在这里已备查看. 1           Shell中的特殊符号 ...

  3. SHELL 脚本----常用的命令

    一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂   建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行she ...

  4. shell 脚本常用调试方法

    曾经我刚开始学习 shell 脚本时,除了知道用 echo 输出一些信息外,并不知道其他方法,仅仅依赖 echo 来查找错误,比较难调试且过程繁琐.效率低下.本文介绍下我常用的一些 shell 脚本调 ...

  5. shell脚本常用命令汇总

    一.shell脚本概述和入门 (1)shell脚本是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核 (2)shell脚本的常用执行方式: 第一种:采用bash或sh+脚本的相对路径或 ...

  6. Shell脚本常用模板

    作为一个运维人员编写Shell脚本是很平常的,一个格式好的脚本不仅赏心悦目,后期自己和别人也易于维护. 下面的脚本就是我自己的shell编写格式,如下: [root@mini05 -]# cat te ...

  7. shell脚本使用技巧3--调试

    1.使用-x,开启shell脚本的跟踪调试功能 ex:bash -x script.sh or sh -x script.sh 2.使用set -x 和 set +x对脚本进行部分调试(输入中间的内容 ...

  8. shell脚本调试技巧

    shell脚本调试之工具——bashdb http://www.cnblogs.com/itcomputer/p/5011845.html

  9. shell脚本常规技巧

    邮件相关 发送邮件: #!/usr/bin/python import sys; import smtplib; from email.MIMEText import MIMEText mail_ho ...

随机推荐

  1. Charles抓包之HTTPS抓包配置

    访问我的博客 前言 由于工作中经常需要配置客户端开发人员对接接口,有时候对接地不太顺利,因此需要经常性地对公司 APP 进行抓包看请求,找出具体的原因. 在公司中开发使用的 Windows 台式电脑, ...

  2. 复刻smartbits的国产网络测试工具minismb-使用burst模式

    复刻smartbits的国产网络性能测试工具minismb,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此工具测试任何ip网络设备的端口吞吐率,带宽,并发连接数 ...

  3. CRM项目hellokitty部分交互界面

    登录界面 实现密码的不显示,验证码的跟换 员工管理界面  完成所有的功能 学校统计界面 完成所有的功能 班级管理 差一个手风琴组件 其他功能也完成了

  4. elasticSearch6源码分析(3)cluster模块

    1. cluser概述 One of the main roles of the master is to decide which shards to allocate to which nodes ...

  5. php和mysql学习问题笔记

    1.Undefined index: pwd in E:\xampp\htdocs\phpbase2elite\12\source\register.php on line 6 这是一个警告,表示数组 ...

  6. ASP.NET MVC验证码演示(Ver2)

    前一版本<ASP.NET MVC验证码演示>http://www.cnblogs.com/insus/p/3622116.html,Insus.NET还是使用了Generic handle ...

  7. Js的substring和C#的Substring

    Js的substring 语法: 程序代码String.substring(start, end) 说明:返回一个从start开始到end(不包含end)的子字符串. 示例: 程序代码var str= ...

  8. Centos7.X通过rpm包安装Docker

    目录 前言 1.Docker官网下载rpm包 2.通过liunx命令安装rpm包 3.迁移镜像存储路径 前言 Docker已经火了很多年,现在各大公司都会使用它.那么在我们日常开发中也经常使用,比如我 ...

  9. Java 获取系统时间

    1. Date类 Date day=new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss&q ...

  10. JS DOM操作(一) 对页面的操作

    DOM ——文档对象模型(Document Object Model)是表示和处理一个HTML或XML文档的常用方法. 在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标 ...