Linux Shell脚本经典案例分享

作为一名 linux 运维工程师,会写好的脚本不仅能提高工作效率,还能有更多的时间做自己的事。最近在网上冲浪的时候,发现大家对shell脚本都有“心结”,要么觉得自己写出来不好看,要么根本无从下手。 下面分享249个真实shell脚本案例,多看、多练、多学,相信你一定能写出满意的脚本。
除此之外,还准备了一些shell脚本的编写规范、入门手册、编写指南等资源,今天一并分享给大家。
由于脚本案例太多,在此仅展示部分,完整版领取方式请见文末
 249个拿来即用的shell脚本!
这249个shell脚本共147页,目录清楚,一键搜索定位,代码清晰可复制,电子版可以随时拿来练习提升,是学习、提升、面试必备精品。
1、通过位置变量创建linux系统账户及密码
#!/bin/bash# 通过位置变量创建 linux 系统账户及密码 #$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数useradd    $1 echo $2  |  passwd  ‐‐stdin  $1  
2、备份日志
#!/bin/bash# 每周 5 使用 tar 命令备份/var/log 下的所有日志文件# vim  /root/logbak.sh# 编写备份脚本,备份后的文件名包含日期标签,防止后面的备份将前面的备份数据覆盖# 注意 date 命令需要使用反引号括起来,反引号在键盘键上面tar  -czf  log-`date +%y%m%d`.tar.gz  /var/log  # crontab ‐e  #编写计划任务,执行备份脚本00  03  *  *  5  /root/logbak.sh  
3、输入三个数并进行升序排序
#!/bin/bash# 依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字read -p 请输入一个整数: num1read -p 请输入一个整数: num2read -p 请输入一个整数: num3# 不管谁大谁小,最后都打印 echo $num1,$num2,$num3# num1 中永远存最小的值,num2 中永远存中间值,num3 永远存最大值# 如果输入的不是这样的顺序,则改变数的存储顺序,如:可以将 num1 和 num2 的值对调tmp=0# 如果 num1 大于 num2,就把 num1 和和 num2 的值对调,确保 num1 变量中存的是最小值if [ $num1 -gt $num2 ];then     tmp=$num1  num1=$num2  num2=$tmpfi# 如果 num1 大于 num3,就把 num1 和 num3 对调,确保 num1 变量中存的是最小值if [ $num1 -gt $num3 ];then       tmp=$num1    num1=$num3    num3=$tmpfi# 如果 num2 大于 num3,就把 num2 和 num3 对标,确保 num2 变量中存的是小一点的值if [ $num2 -gt $num3 ];then    tmp=$num2    num2=$num3    num3=$tmpfiecho 排序后数据(从小到大)为:$num1,$num2,$num3  
4、点名器脚本
#!/bin/bash# 编写一个点名器脚本 # 该脚本,需要提前准备一个 user.txt 文件# 该文件中需要包含所有姓名的信息,一行一个姓名,脚本每次随机显示一个姓名while :do#统计 user 文件中有多少用户line=`cat user.txt |wc ‐l`num=$[random%line+1]sed -n ${num}p  user.txtsleep 0.2cleardone  
5、对100以内的所有正整数相加求和(1+2+3.....+100)
#!/bin/bash# 对 100 以内的所有正整数相加求和(1+2+3+4...+100) #seq 100 可以快速自动生成 100 个整数sum=0for i in `seq 100`do    sum=$[sum+i]doneecho 总和是:$sum  
6、统计当前linux系统中可以登录计算机的账户有多少个
#!/bin/bash# 统计当前 linux 系统中可以登录计算机的账户有多少个#方法 1:grep bash$ /etc/passwd | wc -l#方法 2:awk -f: '/bash$/{x++}end{print x}'  /etc/passwd  
8、打印各种格式的时间
#!/bin/bash# 打印各种时间格式  echo 显示星期简称(如:sun)date +%aecho 显示星期全称(如:sunday)date +%aecho 显示月份简称(如:jan)date +%becho 显示月份全称(如:january)date +%becho 显示数字月份(如:12)date +%mecho 显示数字日期(如:01 号)date +%decho 显示数字年(如:01 号)date +%y echo 显示年‐月‐日date +%fecho 显示小时(24 小时制)date +%hecho 显示分钟(00..59)date +%mecho 显示秒date +%secho 显示纳秒date +%necho 组合显示date +%y%m%d %h:%m:%s     
更多内容展示
上下滚动查看更多,仅展示部分内容
shell脚本是自动化运维的关键组成部分,虽然简简单单几十行代码,但可是蕴藏着巨大的能量和智慧,还是很值得运维朋友学习的。


基于MC12040 ECL鉴相器实现载波跟踪环解调器的应用方案
基于PIC18F6722芯片实现远程操作监控系统的设计
如何从闪存驱动器启动并运行Ubuntu
我国正在全面落实5G+工业互联网512工程项目
OPPOR11什么时候上市?OPPOR11最新消息:前后2000万+2倍光学变焦+人像模式,拍照黑科技大揭秘!
Linux Shell脚本经典案例分享
鲁尔圆锥接头多功能测试仪的试验过程
阳光区块链应用取得什么成就
谷歌、Oculus、三星等公司成立全球VR协会组织 独缺Valve公司
表面洁净度检测仪的功能特点是怎样的
MEASURE输出文件的排版格式如何调整?
74HCU04组成的多种波形信号发生器
毫米波器件制作成5G拦路虎,这个局怎么破
IGBT政策支持 国内厂商与国际巨头正面竞争
iPhone 12正式发布,iPhone柔性AMOLED三家供应门票已发完
安卓9.0通话录音功能被砍,比以前更加注重隐私
努比亚方糖22.5W快速充电器京东商城正式开启预约
一文告诉你PCB到底还会不会涨价
医疗、服务、管理“三位一体” 智慧医疗的建立
TDK推出具有SoundWire功能MEMS麦克风 NI发布新软件包优化测试系统