-
什么是shell
shell是一种脚本语言(解释性语言) #语言可分为编译和解释,编译就是把你写的程序先编译一下,然后才能执行。解释就是直接运行,不需要编译。
可以使用逻辑判断、循环等语法,可以自定义函数,shell是系统命令的集合,shell脚本可以实现自动化运维
-
shell脚本结构和执行
开头需要加#!/bin/bash
以#开头的行作为解释说明
脚本的名字以.sh结尾,用于区分这是一个shell脚本 #linux中不以后缀区分文件类型,但还是要以规范后缀命名
执行脚本的方法有两种
chmod +x X.sh或者./X.sh
bash X.sh
查看脚本执行过程 :bash -x X.sh
查看脚本是否语法错误:bash -n X.sh
-
date命令
date +%Y-%m-%d, date +%y-%m-%d #显示当前年月日(大Y带20小y不带20) #大Y显示具体的年,小Y显示省略的年
date +%H:%M:%S = date +%T 时间 #分时秒
date +%s 时间戳(时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。)
date -d @1504620492(显示该时间戳的具体日期)
date -d "+1day" 一天后
date -d "-1 day" 一天前
date -d "-1 month" 一月前
date -d "-1 min" 一分钟前
date +%w(显示当前是周几), date +%W(显示当前是今年的第几周)
shell脚本中的变量
当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替
使用条件语句时,常使用变量if[$a -gt 1];then ... ; fi
引用某个命令的结果时,用变量替代 n = wc -1 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))或者c=$[$a+$b]