执行脚本:
第一种:需要执行权限 在子shell中执行
# ./filename.sh
第二种:不需要执行权限 在当前shell中执行
提示: 通常修改系统配置文件中如 /etc/profile 的PATH等变量后,使之在当前shell中生效
# bash filename.sh
# . filename.sh
# source filename.sh
调试脚本:
第一种:仅调试 syntax error(仅调试语法错误)
# sh -n filename.sh
第二种:以调试的方式执行,查询整个执行过程
# sh -vx filename.sh
一、if 条件判断
单分支结构
if 条件测试
then 命令序列
fi
if 条件测试;then 命令序列
fi
双分支结构
if 条件测试
then 命令序列
else 命令序列
fi
多分支结构
if 条件测试1
then 命令序列
[elif 条件测试2
then 命令序列
elif 条件测试3
then 命令序列]
else 命令序列
fi
文件测试 [ 操作符 文件或目录 ]
[] = test 命令
注:使用 [] 时,需要前后加上空格。
test命令参数,可以参考菜鸟:
https://www.runoob.com/linux/linux-shell-test.html
[root@zh-docker ~]# test -d /root
[root@zh-docker ~]# echo $?
0
[root@zh-docker ~]# test -d /root/ip.txt
[root@zh-docker ~]# echo $?
1
[root@zh-docker ~]# test -f /root/ip.txt
[root@zh-docker ~]# echo $?
0
[root@zh-docker ~]# test -f /root
[root@zh-docker ~]# echo $?
1
[root@zh-docker ~]# [ -d /root ]
[root@zh-docker ~]# echo $?
0