bash中的if点滴

来源:互联网 发布:vb.net编程实例教程 编辑:程序博客网 时间:2024/05/15 01:50
if 条件判断:[ -a FILE ] 如果 FILE 存在则为真。[ -b FILE ] 如果 FILE 存在且是一个块设备文件则为真。[ -c FILE ] 如果 FILE 存在且是一个字符设备文件则为真。[ -d FILE ] 如果 FILE 存在且是一个目录则为真。[ -e FILE ] 如果 FILE 存在则为真。[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。[ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。[ -h FILE ] 如果 FILE 存在且是一个符号连接则为真。[ -k FILE ] 如果 FILE 存在且已经设置了粘制位则为真。[ -p FILE ] 如果 FILE 存在且是一个命名管道则为真。[ -r FILE ] 如果 FILE 存在且是可读的则为真。[ -s FILE ] 如果 FILE 存在且大小不为0则为真。[ -t FD   ] 如果文件描述符 FD 打开且指向一个终端则为真。[ -u FILE ] 如果 FILE 存在且设置了SUID (set user ID)则为真。[ -w FILE ] 如果 FILE 存在且是可写的则为真。[ -x FILE ] 如果 FILE 存在且是可执行的则为真。[ -O FILE ] 如果 FILE 存在且属有效用户ID则为真。[ -G FILE ] 如果 FILE 存在且属有效用户组则为真。[ -L FILE ] 如果 FILE 存在且是一个符号连接则为真。[ -N FILE ] 如果 FILE 存在且自上次被读后已经修改了则为真。[ -S FILE ] 如果 FILE 存在且是一个套接字则为真。[ FILE1 -nt FILE2 ] 如果 FILE1 比 FILE2 新则为真[ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 要老则为真。[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。[ -o OPTIONNAME ] 如果 shell选项 “OPTIONNAME” 开启则为真。[ -z STRING ] “STRING” 的长度为零则为真。[ -n STRING ] or [ STRING ] “STRING” 的长度为非零 non-zero则为真。[ STRING1 == STRING2 ] 如果2个字符串相同则为真。[ STRING1 != STRING2 ] 如果字符串不相等则为真。[ STRING1 < STRING2 ] 如果 STRING1 与 STRING2 进行字符串比较,STRING1小于STRING2则为真。[ STRING1 > STRING2 ] 如果 STRING1 与 STRING2 进行字符串比较,STRING1大于STRING2则为真。[ ! EXPR ] 如果 EXPR 是false则为真。[ ( EXPR ) ] 返回 EXPR的值。这样可以用来忽略正常的操作符优先级。[ EXPR1 -a EXPR2 ] 如果 EXPR1 and EXPR2 全真则为真。[ EXPR1 -o EXPR2 ] 如果 EXPR1 or EXPR2 为真则为真。if 常用的比较字符:-eq 等于-ne 不等于-gt 大于-lt 小于-le 小于等于-ge 大于等于-z 空串* = 两个字符相等* != 两个字符不等* -n 非空串


原创粉丝点击