shell脚本中各种奇怪的符号
() 在子shell中执行
(()) 数值比较,运算 C语言
$() 命令替换
- [root@x scripts]# touch $(date +%F-%H)_file
$(()) 整数运算
- [root@x scripts]# echo $((1+2))
{}
- [root@x scripts]# touch file {1…2}
${}
[] 条件测试、数值比较、文件测试、字符串比较
[[]] 上述都要,正则的方法比较[[ =~ ]]
$[] 整数运算
执行脚本:
-
./01.sh 需要执行权限 在子shell中执行
-
bash 01.sh 不需要执行权限 在子shell中执行
-
.01.sh 不需要执行权限 在当前shell中执行
-
source 01.sh 不需要执行权限 在当前shell中执行
调试脚本:
- sh -n 02.sh 仅调试syntax error
- sh -vx 02.sh 以调试的方式执行,擦好像整个执行过程