批量ping脚本_30个Linux Shell脚本经典案例(上)

在学习Linux运维时,普遍反馈是:Linux Shell是一个很难的知识板块。虽然大家都认真学,基本的语法也都掌握了,但有需求时,很难直接上手编程,要么写了很久,要么写不好!也有很多做运维很多年的朋友也是如此,Shell脚本一直写的不6!在网上看例子能照猫画虎写出来,完全独立写就困难了。对于初学者而言,因为没有实战经验,写不出来Shell脚本很正常,如果工作了几年的运维老年还是写不出来...
摘要由CSDN通过智能技术生成

在学习Linux运维时,普遍反馈是:Linux Shell是一个很难的知识板块。虽然大家都认真学,基本的语法也都掌握了,但有需求时,很难直接上手编程,要么写了很久,要么写不好!

也有很多做运维很多年的朋友也是如此,Shell脚本一直写的不6!在网上看例子能照猫画虎写出来,完全独立写就困难了。对于初学者而言,因为没有实战经验,写不出来Shell脚本很正常,如果工作了几年的运维老年还是写不出来,那就是没主动找需求,缺乏练习,缺乏经验。

针对以上问题,总结了30个生产环境中经典的Shell脚本,通过这些需求案例,希望能帮助大家提升Shell编写思路,掌握编写技巧。

先了解下编写Shell过程中注意事项:

  • 开头加解释器:#!/bin/bash

  • 语法缩进,使用四个空格;多加注释说明。

  • 命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。

  • 默认变量是全局的,在函数中变量local指定为局部变量,避免污染其他作用域。

  • 有两个命令能帮助我调试脚本:set -e 遇到执行非0时退出脚本,set-x 打印执行过程。

  • 写脚本一定先测试再到生产上。

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

获取随机8位字符串:

方法1:# echo $RANDOM |md5sum |cut -c 1-8
471b94f2
方法2:# openssl rand -base64 4
vg3BEg==
方法3:# cat /proc/sys/kernel/random/uuid |cut -c 1-8
ed9e032c

获取随机8位数字:

方法1:# echo $RANDOM |cksum |cut -c 1-8
23648321
方法2:# openssl rand -base64 4 |cksum |cut -c 1-8
38571131
方法3:# date +%N |cut -c 1-8
69024815

cksum:打印CRC效验和统计字节

2、定义一个颜色输出字符串函数

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

使用方法:echo_color green "test"

function关键字定义一个函数,可加或不加。

3、批量创建用户

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值