十六周五次课(4月17日)
20.1 shell脚本介绍
20.2 shell脚本结构和执行
20.3 date命令用法
20.4 shell脚本中的变量
20.1 shell脚本介绍
shell是一种脚本语言 aming_linux blog.lishiming.net
可以使用逻辑判断、循环等语法
可以自定义函数
shell是系统命令的集合
shell脚本可以实现自动化运维,能大大增加我们的运维效率
在正式编写shell脚本之前,建议凡是自定义的的脚本都放到/usr/local/sbin/目录下,这样做的目的时:一来可以更好地管理文档;二来以后接管你工作的管理员都知道自定义脚本放在哪里,方便维护。
20.2 shell脚本结构和执行
开头需要加#!/bin/bash,表示接下来的命令在通过哪一个解释器来操作的,表示该文件使用的时bash语法。在本机上如果不设置该行,你的机器能识别shell脚本,也可以执行。如果在其他机器上不一定能执行。
其他行以#开头的行作为解释说明
脚本的名字以.sh结尾,用于区分这是一个shell脚本
sh命令就是bash命令
执行方法有两种
chmod +x 01.sh //给1.sh执行权限
./01.sh //这样执行是因为脚本的文件头有 #!/bin/bash,后面的命令已经被/bin/bash解析了
bash 1.sh
查看脚本执行过程 bash -x 01.sh
查看脚本是否语法错误 bash -n 01.sh
20.3 date命令用法
date +%Y:表示以四位数字格式打印年份
date +%y:表示以两位数字格式打印年份
date +%m:表示月份
date +%d:表示日期
date +%H:表示小时
date +%M:表示分钟
date +%S:表示秒
date +%w:表示星期。结果显示0则表示周日
date +%W:表示今年的第几周
date +%Y-%m-%d, date +%y-%m-%d 年月日
date +%H:%M:%S = date +%T 时间
date +%s 时间戳 //距离1970.1.1到现在过去多少秒
date -d @1504620492
date -d "+1day" 一天后
date -d "-1 day" 一天前
date -d "-1 month" 一月前
date -d "-1 min" 一分钟前
cal:表示日历
时间戳互换:
20.4 shell脚本中的变量
当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替
使用条件语句时,常使用变量 if [ $a -gt 1 ]; then ... ; fi
引用某个命令的结果时,用变量替代 n=`wc -l 1.txt`
写和用户交互的脚本时,变量也是必不可少的 read -p "Input a number: " n; echo $n 如果没写这个n,可以直接使用$REPLY
内置变量 $0, $1, $2… $0表示脚本本身,$1 第一个参数,$2 第二个 .... $#表示参数个数
数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]
定义变量的格式为:“变量名=变量的值"。在脚本中引用变量时需要加上符号$
原文地址:http://blog.51cto.com/415326/2104353