独角兽企业重金招聘Python工程师标准>>>
20.1 Shell脚本介绍
• shell是一种脚本语言 aming_linux
• 可以使用逻辑判断、循环等语法
• 可以自定义函数
• shell是系统命令的集合
• shell脚本可以实现自动化运维,能大大增加我们的运维效率
20.2Shell脚本结构和执行
• 开头需要加#!/bin/bash
• 以#开头的行作为解释说明
• 脚本的名字以.sh结尾,用于区分这是一个shell脚本
• 执行方法有两种
• chmod +x 1.sh; ./1.sh
• bash 1.sh
• 查看脚本执行过程 bash -x 1.sh
• 查看脚本是否语法错误 bash -n 1.sh
例子:
#!/bin/bash#-05-26#echo w ls echo "12345"w
执行方法:
给脚本添加执行权限“chmod a+x 01.sh”,然后直接执行该脚本“./01.sh”sh 01.sh (/bin/bash = .bin/sh = bash)绝对路径执行 /root/shell/01.sh ./只是相对路径
执行参数
-x:sh -x test.sh 查看显示脚本执行过程
-n:sh -n test.sh 查看脚本是否存在语法错误
20.3date命令用法
date命令用于显示或设置系统时间与日期。
语法:date [option] 参数
Options:
-d <string>:显示字符串指定的日期与时间(字符串前后必须加上双引号)
-s<string>:根据字符串来设置时间与日期(字符串前后必须加双引号)
参数:
<+时间日期格式>:指定日期和时间显示的格式
常用日期格式:
date+%Y-%m-%d, date +%y-%m-%d 年月日date+%H:%M:%S = date +%T 时间date +%s时间戳date -d @1504620492date -d "+1day" 一天后date -d "-1 day" 一天前date -d "-1 month" 一月前date -d "-1 min" 一分钟前date +%w, date +%W 星期 一年第几个星期date +%F 带-显示年月日date +%s -d "-07-16 00:00:00" 换算时间戳
说明: 指定某时间或日期的时候,后面要跟对应的时间格式参数
“cal -y”可以查看一年的日历
20.4Shell脚本中的变量
• 当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替
• 使用条件语句时,常使用变量 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]