温习shell编程基础的要点:
正则表达式的要点:
'.' a.'*' a* == a aa aaa ....
'+' grep -E 'a+' == grep 'a\+'
'?' grep -E 'a?' == grep 'a\?'
'.*'
()
| grep -E 'a|b' 或者
{} grep -E '(oo){2}' 出现2次
([^:]+) 非冒号 一个或多个
(:.*:) 从第一个冒号到最后一个冒号
([^:]+$)非冒号
sed -r '/([^:]+)(:.*:)([^:]+$)/\3\2\1' 1.txt 第1个和最后1个交换
正式进入shell脚本的编写:
#!/bin/bash // 指定解析脚本的命令
vim 1.sh
#!/bin/bash
# 这是我们的第一个脚本
# 2017-09-15
echo "Hello Shell"
date 日期命令
date +%Y
date +%y
月
date +%m
日
date +%d
时
date +%H
date +%h
分
date +%M
妙
date +%S
date +%s
根据秒数 进行时间转换
date -d @100 #时间转换
星期:
date +%w
1 星期几
date +%W
24 一年的第24周
时间格式:
2017-09-15
date +%F
22:55:17
date +%T
时间回退 / 时间前进:
date -d "-1 day" +"%F %T" // 回退一天 然后输出时间日期
date -d "+1 day" +"%F %T"
date -d "-1 month" +"%F %T"
date -d "+1 month" +"%F %T"
date -d "-1 year" +"%F %T"
date -d "+1 year" +"%F %T"
date -d "-1 hour" +"%F %T"
date -d "+1 hour" +"%F %T"
date -d "-1 min" +"%F %T"
date -d "+1 min" +"%F %T"
date -d "-1 sec" +"%F %T"
date -d "+1 sec" +"%F %T"
用户交互:从终端输入一个数字 然后显示的打印出来
vim read.sh
#!/bin/bash
## 用户交互脚本
read -p "请输入一个数字:" num
echo $num
$? 表示前面的一条指令执行是个否成功
rpm -qf `whixh vim` 查看vim是有哪个安装包安装的 Fedora系统的命令
apt-cache seach ? 类似于上一条指令 只不过不太精确
$0 脚本本身
$1 $2 $3 $4 脚本的第几个参数
$# 使用的参数个数
vim argument.sh
#!/bin/sh
# 脚本传参使用
echo "\$1=$1"
echo "\$2=$2"
echo "\$3=$3"
echo "\$#=$#"
echo "\$0=$0"