一、shell脚本语言是linux系统的系统命令的一个集合:他包含了有逻辑判断、循环语句和自定义的函数等。 二、shell脚本用来实现系统管理的自动化运维,提升管理效率。例如:要部署上百台机器的时候,就可使用脚本文件同时进行操做,大大提升效率。 三、shell脚本编写是运维工做的重点,也是工做应聘的必备熟练的条件:熟练掌握必需要多练习多看脚本代码,对脚本的解决问题的思路要理解透彻。
linux中的shell脚本,第一行固定文件头:linux
#!/bin/bash //指定下面的命令集合经过哪一个解释器执行
若是shell脚本文件拥有x执行权限,加上了指定解释器文件头,就可以直接执行shell脚本文件,不用在前面使用命令来执行shell
chmod a+x 123.sh //加上x执行权限 ./123.sh //直接输入文件名,回车执行便可。不用 sh命令或者 /bin/bash命令
若是不加指定解释器的文件头:#!/bin/bash,就须要使用命令来执行shell脚本:bash
sh 123.sh // /bin/sh命令文件实际上是软连接至 /bin/bash /bin/bash 123.sh
shell脚本中除了第一行外的,其余以#号开头的行,表明解释说明,不会被解释器执行运维
bash -x 123.sh //-x选项 查看执行过程 ,执行过程显示中,+号后面的语句是:执行过程,按执行顺序显示。 bash -n 123.sh //-n选项 查看是否有语法错误
date命令:显示系统当前日期和时间,shell脚本中做用很大。函数
date命令在shell脚本中至关重要,常常会使用到date命令来进行对文件的操做:如日志文件等。日志
LANG=en //date命令显示的时间就是英文的 LANG=zh_CN.UTF-8 //date命令显示的时间是中文的
date命令有如下经常使用的格式与选项:code
date +%Y //显示年份:2018 date +%m //显示月份:07 date +%d //显示日:12 date +%M //显示分钟:52 date +%D //显示年月日:09/09/17 date +%F //显示年月日:2017-09-09 date +%h //显示英文的月份:Sep date +%H //显示小时:06 date +%S //显示秒:36 date +%s //显示时间戳:1504811139,距离1970.01.01过去多少秒 date +%T //显示时间:06:30:20 date +%w //显示星期 date +%W //显示今年第几周:36 cal //显示日历
date命令指定日期:字符串
date -d "+1 day" //一天后的日期; -d选项,计算时间日期 date -d "-1 day" +%F //昨天的日期 date -d "-1 month" +%F //上月的日期 date -d "+1 year" +%F //明年的日期 date -d "+1 hour" +%T //下个小时 date -d @1504911154 //查看时间戳对应的日期时间 date +%s -d "2017-09-08 06:20:19" //查看日期时间对应的时间戳
shell脚本中的变量:是某个字符串使用频繁,或者字符串长度长,可使用变量才代替,提升代码编写的效率。部署
在条件语句中常使用到变量:input
if [$a -gt 10];then 语句; fi //a就是变量
引用命令结果时用变量:
n='wc -l 1.txt' //wc统计行数命令的结果,赋值给变量n
用户交互脚本中,使用变量:
read -p "input a number : " n; echo $n //把输入的数值,赋值给变量n
系统的内置变量:
$0,$1,$2,$3等 //$0表示脚本自己,$一、$2表明命令的第1个参数、第2个参数,如此类推。$#表明参数个数
数序运算中使用变量:
a=1 b=2 c=$(($a+$b)) //c=$[$a+$b] 这种写法也行