构成+执行
开头需要加#! /bin/bash
以#开头的行作为解释说明
脚本的名字以.sh结尾,用于区分这是一个shell脚本
执行方法有两种
chmod +x 1.sh; ./1.sh
bash 1.sh
查看脚本执行过程
bash -x 1.sh
查看脚本是否语法错误
bash -n 1.sh
date命令语法
# date //单纯的显示当前日期 2017年 09月 12日 星期二 21:26:09 CST [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 "-1 day" +%F // 昨天 2017-09-11 [root@Plinux ~]# date -d "-1 month" +%F // 上个月 2017-08-12 [root@Plinux ~]# date -d "-1 years" +%F // 上年 2016-09-12 [root@Plinux ~]# date -d "-1 hour" +%T // 过去的一小时 21:00:33 [root@Plinux ~]# date +%s // 从1970年到现在已经过去多少秒了 “时间戳” 1505225506 换算某个时间点的时间戳:(2018年8月8号8时8分8秒离1970年过去了多少秒) [root@Plinux ~]# date +%s -d "2018-08-08 08:08:08" 1533686888 根据时间戳 得到一个具体的时间 [root@Plinux ~]# date -d @1533686888 2018年 08月 08日 星期三 08:08:08 CST
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]