shell是一种脚本语言 aming_linux blog.lishiming.net
可以使用逻辑判断、循环等语法
可以自定义函数
shell是系统命令的集合
shell脚本可以实现自动化运维,能大大增加我们的运维效率
/br>
开头需要加#!/bin/bash
以#开头的行作为解释说明 脚本的名字以.sh结尾,用于区分这是一个shell脚本
执行方法有两种
chmod +x 1.sh; ./1.sh
bash 1.sh 查看脚本执行过程 bash -x 1.sh
查看脚本是否语法错误 bash -n 1.sh
/br>
date +%Y-%m-%d, date +%y-%m-%d
年月日
[root@linux01 ~]# date +%Y-%m-%d
2018-12-27
[root@linux01 ~]# date +%y-%m-%d
18-12-27
date +%H:%M:%S = date +%T
时间
[root@linux01~]# date +%H:%M:%S
23:36:02
[root@linux01~]# date +%T
23:36:07
date +%s
时间戳
[root@linux01~]# date +%s
1545924982
date -d @1504620492
时间推算
[root@linux01~]# date -d @1504620492
2017年 09月 05日 星期二 22:08:12 CST
date -d "+1day"
一天后
[root@linux01~]# date -d "+1day"
2018年 12月 28日 星期五 23:37:32 CST
date -d "-1 day"
一天前
[root@linux01~]# date -d "-1 day"
2018年 12月 26日 星期三 23:37:45 CST
date -d "-1 month"
一月前
[root@linux01~]# date -d "-1 month"
2018年 11月 27日 星期二 23:37:58 CST
date -d "-1 min"
一分钟前
[root@linux01~]# date -d "-1 min"
2018年 12月 27日 星期四 23:37:11 CST
date +%w, date +%W
星期
[root@linux01~]# date +%w
4
[root@linux01~]# date +%W
52
/br>
当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替
使用条件语句时,常使用变量 if [ $a -gt 1 ]; then ... ; fi
[root@linux01~]# a=2;if [ $a -gt 1 ]; then echo "big"; fi
big
[root@linux01~]# a=0;if [ $a -gt 1 ]; then echo "big"; fi
[root@linux01~]#
引用某个命令的结果时,用变量替代 n=
wc -l 1.txt
[root@linux01~]# n=`wc -l anaconda-ks.cfg`
[root@linux01~]# echo "$n"
53 anaconda-ks.cfg
写和用户交互的脚本时,变量也是必不可少的 read -p "Input a number: " n; echo $n
如果没写这个n,可以直接使用$REPLY
内置变量 $0, $1, $2… $0表示脚本本身,$1 第一个参数,$2 第二个 … $#表示参数个数
[root@linux01~]# read -p "Input a number: " n; echo $n
Input a number: 5
5
数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]
[root@linux01~]# a=1;b=2; c=$(($a+$b))
[root@linux01~]# echo $c
3