make-dev-container.sh
if 用法
-r file 用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为正规文件为真
-d file 文件为目录为真
-z var 变量是否存在值
基本的if条件命令选项有:
-eq —比较两个参数是否相等(例如,if [ 2 –eq 5 ])
-ne —比较两个参数是否不相等
-lt —参数1是否小于参数2
-le —参数1是否小于等于参数2
-gt —参数1是否大于参数2
-ge —参数1是否大于等于参数2
$ 用法
$1 参数
$? 上一个命令的返回值
$# 参数个数
$@ 所有参数
$$ 当前运行的程序的pid
Misc
mkdir -p 直接创建多层directories
local 局部变量
stat -c %s "$localTar" 得到filesize
scp -q -F <sshconfig>
tar -xf <filename> --directory <directory> 解压
readlink 得到symbolic link指向的位置
chown -R recursively改变所有子目录
start-dev-container.sh
UNIX有几种输入输出流,与数字的对应关系如下:
0-标准输入流(stdin)
1-标准输出流(stdout)
2-标准错误流(stderr)
- /dev/null 代表空设备文件,看作”黑洞”,它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到
>
重定向输出,覆盖文件;>>
重定向输出,不覆盖文件;- & 表示“等同于”的意思,2>&1,标准错误输出重定向等同于 标准输出;