注意点
#!/bin/bash
这一句可以通知shell使用bash程序运行脚本,并且加载bash的相关环境配置(一般来说就是non-login shell的~/.bashrc)。- 普通的运行脚本文件的方式都是把脚本放在子程序中运行,脚本运行完毕,脚本里面定义的变量将不再存在了。但是使用
source sh001.sh
这种方式运行的话,会把脚本放在父程序中运行,即使脚本运行完毕,里面定义的一些变量仍然存在的。 - test测试命令功能有:文件类型测试、文件权限测试、文件属性(如最后修改时间等)测试、整数比较测试、字符串比较测试、多重条件测试、条件取反测试。。。太多功能,这里贴教程传送门:test-传送门
- 中括号 “[]” 也可以用于条件测试,不过语法感觉有点恶心,设计优良的Linux为什么没有在这些地方设计成语法简单易用呢?还是传送门:[]-传送门
一些预定义变量名称:
123456/path/to/scriptname opt1 opt2 opt3 opt4$0(scriptname) $1 $2 $3 $4$# : 参数个数,这里是4$@ : 代表 "$1" "$2" "$3" "$4"$* : 代表 "$1 $2 $3 $4"变量偏移命令 shift ,这玩意有用吗?还是传送门:shift-传送门
- 条件判断语法:if…then,case…esac
- 循环:while…do…done,until…do…done,for…do…done
- 函数:function,内部有自己的$0,$1,$2…与脚本的这些变量并不相同
调试
|
|