5.1 概述
5.2 shell脚本入门
5.3 变量
-
变量
-
系统预定义变量
env
printenv -
用户自定义变量、全局变量、只读变量、撤销变量
my_var=hello my_var="hello, world" echo $my_var vim hello.sh#加入echo $my_var ./hello.sh#不会输出hello, world,绝对路径会创建一个子bash进程,不能访问到局部变量my_var,可以使用. 或者source命令,这两个命令不会创建子进程bash,而是在当前bash进程中执行 export my_var#my_var成为全局变量 ./hello.sh#现在可以输出my_var,在子进程bash中修改my_var不会影响到父进程bash中的my_var a=1+5 echo $a#1+5 a=$((1+5)) echo $a#6 a=$[3+4] echo $a#7 readonly a=5 a=10#无法修改,a是只读变量 echo $a#5
-
-
特殊变量
5.4 运算符
5.5 条件判断
a=hello
test $a = hello#前后有空格!!!
echo $?#返回0,说明a=hello
test $a = good
echo $?#返回1,说明a!=good
test $a != good
5.6 流程控制
-
if单分支、多分支
-
case多分支
-
for循环
-
while循环
5.7 读取控制台输入
5.8 函数
-
系统函数
-
自定义函数
5.9 正则入门
5.10 文本处理工具
5.11 综合应用案例
- 归档文件
添加定时任务 crontab -e
0 2 * * * /root/scripts/daily_archive.sh /root/scripts/
- 发送信息
登录john用户,在root下执行./send_msg.sh john hello,john
john可以接收到hello,john信息