基本的shell编程格式+简单的脚本实例 --- shell脚本编程教程之二

温习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

shell 中的变量
$?  表示前面的一条指令执行是个否成功
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"


猜你喜欢

转载自blog.csdn.net/hpu11/article/details/78002446