bash脚本编程思想和条件测试
bash脚本编程思想和条件测试
- 数据类型
字符型
数值型
算术运算
1 | +,-,*,/,** |
let VAR=expression
VAR=$[expression]
VAR=$((expression))
VAR=$(expr argu1 argu2)
增强型赋值
`+=,-=,*=,/=,%=
1 | - 要用let 描述, let i+=# |
文件测试
-a 或-e FILE,[-e FILE],是否存在
-b,是否存在且为块设备
-c,是否存在且为 字符设备文件
-d,目录文件
-f ,普通文件
-h ,符号连接文件
-p 命名管道文件
-S,套接字文件
权限测试
-r,是否存在并且当前用户可读-w,可写
-x,可执行
特殊权限测试
-g,存在并且拥有suld权限-u,是否存在且拥有sgld权限
-k,sticky权限
内容测试
-s,是否为空,空为假时间戳测试
-N,上次读取后是否被修改过从属关系测试
-Q,当前文件是否是文件的属主-G,当前用户胡是否为文件的属组
双目测试
FILE1-ef FILE2 , FILE2和FILE2是否指向统一文件系统的相同Inode的硬链接FILE1 -nt FILE2,FILE1是否新与FILE 2
FILE1 -ot FILE2,FILE1是否旧与FILE 2
逻辑运算
&& || ![ EXPRESSION -a EXPRESSION ] 并且
[ expression -o expression ]
脚本的状态返回值:最后执行的命令的返回值
自定义状态返回值,exit[n],n自定义,返回n。shell遇到exit[n]立马终止