公众号:aming_linux
博客: blog.lishiming.netlinux
开头(首行)须要加: #!/bin/bash
这里是指文件使用的是bash语法,经过/bin/bash解释器来执行的。 shell
以#开头的行做为解释说明: bash
脚本的名字以.sh结尾,用于区分这是一个shell脚本运维
执行.sh脚本方法有两种:函数
1先给.sh脚本添加x权限:.net
chmod +x 1.sh
.sh脚本的绝对路径回车:3d
/root/1.sh
2bash(bash=sh)执行.sh脚本:日志
bash 1.sh
查看脚本执行过程:code
sh -x 1.sh
检测shell脚本的语法错误:blog
sh -n 1.sh
date命令在·shell·脚本里的大部分是对日志进行文件名的更改,和对一些文件作日期上的区分。
查看当前时间
[root@shuai-01 ~]# date 2018年 02月 25日 星期日 14:51:35 CST [root@shuai-01 ~]# LANG=en [root@shuai-01 ~]# date Sun Feb 25 14:52:25 CST 2018
date +%Y : 打印四位数字的年份
[root@shuai-01 ~]# date +%Y
2018
date +%y : 打印两位数字的年份
[root@shuai-01 ~]# date +%y
18
date +%m : 打印月份
[root@shuai-01 ~]# date +%m
02
date +%d : 表示日期
[root@shuai-01 ~]# date +%d
25
date +%H : 表示小时
[root@shuai-01 ~]# date +%H
14
date +%M : 表示分钟
[root@shuai-01 ~]# date +%M
58
date +%S : 表示秒
[root@shuai-01 ~]# date +%S
35
date +%w : 表示星期,0表示周日
[root@shuai-01 ~]# date +%w
0
表示年月日:
[root@shuai-01 ~]# date +%Y%m%d
20180225
[root@shuai-01 ~]# date +%F
2018-02-25
表示时间:
[root@shuai-01 ~]# date +%T 18:44:10
显示日历:
[root@shuai-01 ~]# cal February 2018 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
date 标记昨天的日期:
[root@shuai-01 ~]# date -d "-1 day" Sat Feb 24 18:47:16 CST 2018 [root@shuai-01 ~]# date -d "-1 day" +%F 2018-02-24
1. 当脚本中使用某个字符串较频繁而且字符串长度很长时就应该使用变量代替 2. 使用条件语句时,常使用变量 if [ $a -gt 1 ]; then ... ; fi 3. 引用某个命令的结果时,用变量替代 n=`wc -l 1.txt` 4. 写和用户交互的脚本时,变量也是必不可少的 read -p "Input a number: " n; echo $n 若是没写这个n,能够直接使用$REPLY 5. 内置变量 $0, $1, $2… $0表示脚本自己,$1 第一个参数,$2 第二个 .... $#表示参数个数 6. 数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]