作为一名Linux运维工程师,会写好的脚本不仅能提高工作效率,还能有更多的时间做自己的事。最近在网上冲浪的时候,发现大家对Shell脚本都有心结,要么觉得自己写出来不好看,要么根本无从下手。 下面分享249个真实Shell脚本案例,多看、多练、多学,相信你一定能写出满意的脚本。 除此之外,还准备了一些Shell脚本的编写规范、入门手册、编写指南等资源,今天一并分享给大家。 由于脚本案例太多,在此仅展示部分,完整版领取方式请见文末249个拿来即用的shell脚本! 这249个Shell脚本共147页,目录清楚,一键搜索定位,代码清晰可复制,电子版可以随时拿来练习提升,是学习、提升、面试必备精品。 1、通过位置变量创建Linux系统账户及密码!binbash 通过位置变量创建Linux系统账户及密码 1是执行脚本的第一个参数,2是执行脚本的第二个参数 useradd1 echo2passwdstdin1 2、备份日志!binbash 每周5使用tar命令备份varlog下的所有ahrefhttps:www。bs178。comrizhitargetblankclassinfotextkey日志a文件 vimrootlogbak。sh 编写备份脚本,备份后的文件名包含日期标签,防止后面的备份将前面的备份数据覆盖 注意date命令需要使用反引号括起来,反引号在键盘tab键上面 tarczflogdateYmd。tar。gzvarlog crontabe编写计划任务,执行备份脚本 00035rootlogbak。sh 3、输入三个数并进行升序排序!binbash 依次提示用户输入3个整数,脚本根据数字大小依次排序输出3个数字 readp请输入一个整数:num1 readp请输入一个整数:num2 readp请输入一个整数:num3 不管谁大谁小,最后都打印echonum1,num2,num3 num1中永远存最小的值,num2中永远存中间值,num3永远存最大值 如果输入的不是这样的顺序,则改变数的存储顺序,如:可以将num1和num2的值对调 tmp0 如果num1大于num2,就把num1和和num2的值对调,确保num1变量中存的是最小值 if〔num1gtnum2〕;then tmpnum1 num1num2 num2tmp fi 如果num1大于num3,就把num1和num3对调,确保num1变量中存的是最小值 if〔num1gtnum3〕;then tmpnum1 num1num3 num3tmp fi 如果num2大于num3,就把num2和num3对标,确保num2变量中存的是小一点的值 if〔num2gtnum3〕;then tmpnum2 num2num3 num3tmp fi echo排序后数据(从小到大)为:num1,num2,num3 4、点名器脚本!binbash 编写一个点名器脚本 该脚本,需要提前准备一个user。txt文件 该文件中需要包含所有姓名的信息,一行一个姓名,脚本每次随机显示一个姓名 while: do 统计user文件中有多少用户 linecatuser。txtwcl num〔RANDOMline1〕 sedn{num}puser。txt sleep0。2 clear done 5、对100以内的所有正整数相加求和(123。。。。。100)!binbash 对100以内的所有正整数相加求和(1234。。。100) seq100可以快速自动生成100个整数 sum0 foriinseq100 do sum〔sumi〕 done echo总和是:sum 6、统计当前Linux系统中可以登录计算机的账户有多少个!binbash 统计当前Linux系统中可以登录计算机的账户有多少个 方法1: grepbashetcpasswdwcl 方法2: awkf:bash{x}end{printx}etcpasswd 8、打印各种格式的时间!binbash 打印各种时间格式 echo显示星期简称(如:Sun) datea echo显示星期全称(如:Sunday) dateA echo显示月份简称(如:Jan) dateb echo显示月份全称(如:January) dateB echo显示数字月份(如:12) datem echo显示数字日期(如:01号) dated echo显示数字年(如:01号) dateYecho显示年月日 dateF echo显示小时(24小时制) dateH echo显示分钟(00。。59) dateM echo显示秒 dateS echo显示纳秒 dateN echo组合显示 dateYmdH:M:S上下滚动查看更多,仅展示部分内容 Shell脚本是自动化运维的关键组成部分,虽然简简单单几十行代码,但可是蕴藏着巨大的能量和智慧,还是很值得运维朋友学习的。 所有资料已经打包好了,想要提升的同学请务必拿走学习! 资料整理自网络,仅作免费交流分享,侵删 领取方式如下: 备注【249个shell脚本】 即可100免费领取