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. linux 设置与网络同步的时间

    #设置linux时间 与网络时间同步安装命令yum install -y ntp同步网络时间ntpdate ntp1.aliyun.com

  2. 一次完整的HTTP接口请求过程及针对优化

    客户端发起http请求,基本的经历过程如下: 域名解析 -> TCP三次握手 -> 建立TCP连接后发起HTTP请求 -> Nginx反向代理 -> 应用层 -> 服务层 ...

  3. es-04-mapping和setting的建立

    mapping和setting, 使用java客户端比较难组装, 可以使用python或者scala 这儿直接在kibana中进行DSL创建 1, mapping 创建索引的时候, 可以事先对数据进行 ...

  4. Nhibernate + MySQL 类型映射

    用SQLyog工具创建表 然后用自动映射工具NHibernate Mapping Generator对表做自动映射,得到 这个是可视化界面,后面有对应的代码. using System; using ...

  5. 代码统计工具cloc

    https://sourceforge.net/projects/cloc/files/cloc/v1.64/

  6. 【LeetCode题解】25_k个一组翻转链表(Reverse-Nodes-in-k-Group)

    目录 描述 解法一:迭代 思路 Java 实现 Python 实现 复杂度分析 解法二:递归(不满足空间复杂度) 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记 ...

  7. Java设计模式学习记录-简单工厂模式、工厂方法模式

    前言 之前介绍了设计模式的原则和分类等概述.今天开启设计模式的学习,首先要介绍的就是工厂模式,在介绍工厂模式前会先介绍一下简单工厂模式,这样由浅入深来介绍. 简单工厂模式 做法:创建一个工厂(方法或类 ...

  8. C指针与内存

    C指针与内存 指针是C / C++ 中重要的构造类型,指针赋予了C / C++程序直接访问和修改内存的能力.C / C++的许多重要应用,如编译.OS.嵌入式开发都依赖于这种能力. 冯诺依曼体系的计算 ...

  9. 网络之Json生成解析

    // // ViewController.m // Json // // Created by City--Online on 15/4/28. // Copyright (c) 2015年 CYW. ...

  10. 分布式理论(八)—— Consistent Hash(一致性哈希算法)

    前言 在分布式系统中,常常需要使用缓存,而且通常是集群,访问缓存和添加缓存都需要一个 hash 算法来寻找到合适的 Cache 节点.但,通常不是用取余hash,而是使用我们今天的主角-- 一致性 h ...