shell编程 shell是一种编程语言,可以使用逻辑判断,循环等语法。 可以自定义函数。 shell是系统命令的集合。 shell脚本意识实现自动化运维,提高工作效率。

shell脚本的结构和执行 1.开头要使用 #!/bin/bash ——文件头,已什么解释器执行 2.#开头为解释说明 3.脚本以.sh结尾,用于区分这是一个shell脚本。 有两种脚本执行方式 1 bash file.sh
2 chmod +x file.sh; ./file.sh 查看脚本执行过程 bash -x file.sh
查看脚本语法是否有误 bash -n file.sh 若无返回,这shell脚本无语法错误。

date 命令用法 date +%Y%m%d 显示年月日 20181224 date +%y%m%d 显示年月日 181224 date +%Y-%m-%d 显示年月日 2018-12-24 date +%F 显示年月日 2018-12-24 (效果同上) date +%H:%M:%S 显示时分秒 18:34:01 date +%s 显示时间戳 1545647782 (距1970-01-01过了多少秒) date +%w (小w) 显示星期几 显示1即表示星期一 date +%W(大W) 显示今年的第几周 显示52即表示今年的第52周 date -d "+1 day" 表示一天后 date -d "-1 day" 表示一天前 date -d "-1 day" +%F 显示一天前以前,已年月日的格式 date -d "-1 min" +%T 显示一分钟以前,已时分秒的格式 date +%s -d "2018-12-24 18:45:59" 将时间换算为时间戳 1545648359 date -d@1545648359 将时间戳换算为具体时间 2018年 12月 24日 星期一 18:45:59 CST

shell脚本中的变量 1.当脚本中的字符串使用频率较高或字符串较长时,使用变量代替。 2.使用条件语句时,用变量代替 if[ $a -gt 1]; then....;fi 3.引用某个命令的结果时,用变量代替。 n=wc -l file.txt 4.写和用户交互的脚本时,变量也是必不可少的。read - p "Input a number:"n; echo $如果改写这个n,可以直接使用$REPALY 5.内置变量 $0,$1,$2,$# ,$0表示脚本本身,$1表示第一个参数,$#表示参数的个数 6.数学运算 a=1;b=2;c=$(($a+$b)) 或者 $[$a+$b]

shell中的逻辑判断 if 格式1 : if 条件;then语句;fi

#! /bin/bash a=5 if [ $a -gt 3 ] then echo ok fi

if [ $a -gt 3 ];then echo ok;fi

格式2: if 条件;then 语句;else 语句;fi;

#! /bin/bash a=2 if [ $a -gt 3 ] then echo ok else echo not ok

fi

if [ $a -lt 3 ];then echo ok;else ehco not ok;fi

格式3:if条件;then语句;elif条件;then语句;else语句;fi

#! /bin/bash a=5 if [ $a -gt 1 ] then echo ">1" elif [ $a -lt 6 ] then echo "<6 && >1" else echo not ok fi

if [ $a -gt 1 ];then echo ">1";elif [ $a<6 && $a>1 ];then echo "<6 && >1";else echo no ok; fi

-gt 大于 -lt 小于 -eq 等于 -ge 大于等于 -le 小于等于 -ne 不等于

支持 && 逻辑与;支持|| 逻辑或 if [ $a -gt 3 ] &&[ $a -lt 8 ] ;then echo ok;fi if [ $a -gt 3 ] ||[ $a -lt 8 ] ;then echo ok;fi