构成+执行
开头需要加#! /bin/bash
以#开头的行作为解释说明
脚本的名字以.sh结尾,用于区分这是一个shell脚本
执行方法有两种
chmod +x1.sh; ./1.sh
bash1.sh
查看脚本执行过程
bash -x 1.sh
查看脚本是否语法错误
bash -n 1.sh
date命令语法
#date//单纯的显示当前日期 2017年09月12日星期二21:26:09CST [root@Plinux~]#date+%Y//单纯的四位数“年” 2017 [root@Plinux~]#date+%y//二位数“年” 17 [root@Plinux~]#date+%M//Minute“分钟” 32 [root@Plinux~]#date+%m//Month“月份” 09 [root@Plinux~]#date+%S//Second“秒” 21 [root@Plinux~]#date+%H//Hour“小时” 21 [root@Plinux~]#date+%d//date“日期” 12 [root@Plinux~]#date+%D//安装如何英文格式输出“年月日” 09/12/17 [root@Plinux~]#date+%Y%m%d//四位数“年月日” 20170912 [root@Plinux~]#date+%y%m%d//二位数“年月日” 170912 [root@Plinux~]#date+%F//特殊格式“年月日” 2017-09-12 [root@Plinux~]#date+%T//特殊格式“时分秒” 21:40:22 [root@Plinux~]#date+%H%M%S//组合式“时分秒” 214500 [root@Plinux~]#date+%H:%M:%S//自定义“时分秒” 21:45:07 [root@Plinux~]#date+%w//week“周几” 2 [root@Plinux~]#date+%W//第几周 37 [root@Plinux~]#date-d"-1day"+%F//昨天 2017-09-11 [root@Plinux~]#date-d"-1month"+%F//上个月 2017-08-12 [root@Plinux~]#date-d"-1years"+%F//上年 2016-09-12 [root@Plinux~]#date-d"-1hour"+%T//过去的一小时 21:00:33 [root@Plinux~]#date+%s//从1970年到现在已经过去多少秒了“时间戳” 1505225506 换算某个时间点的时间戳:(2018年8月8号8时8分8秒离1970年过去了多少秒) [root@Plinux~]#date+%s-d"2018-08-0808:08:08" 1533686888 根据时间戳得到一个具体的时间 [root@Plinux~]#date-d@1533686888 2018年08月08日星期三08:08:08CST
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]