linux if f linux中if命令
大家好,今天来为大家分享linux if f的一些知识点,和linux中if命令的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
linux中“if [ -f $home/$1]的”含义是什么
if条件判断关键字bai; [ ]语法要求;-f文件比较运算符,如果zhi filename为常规文件,则为真;$home取变量的值,如果.sh文件里面内没有容该就是则会取用户系统变量!你可以在终端中执行一下 echo$home看看是什么路径;$1取输入的第一个参数.例: sh xxx.sh 111那么此时$1的值就是 111。学习Linux可参考书籍《Linux就该这么学》。
在Linux中-f file是什么意思
判断目标文件是否存在。-f filename如果 filename为常规文件,则为真。filename1-nt filename2如果 filename1比 filename2新,则为真。
filename1-ot filename2如果 filename1比 filename2旧,则为真。
其它文件表达式
-e filename如果 filename存在,则为真
-d filename如果 filename为目录,则为真
-L filename如果 filename为符号链接,则为真
-r filename如果 filename可读,则为真
-w filename如果 filename可写,则为真
-x filename如果 filename可执行,则为真
-s filename如果文件长度不为0,则为真
-h filename如果文件是软链接,则为真
更多更详细的Linux知识可参考《Linux就该这么学》。
Linux里面if -s命令作用是什么
字符串判断
str1= str2当两个串有相同内容、长度时为真
str1!= str2当串str1和str2不等时为真
-n str1当串的长度大于0时为真(串非空)
-z str1当串的长度为0时为真(空串)
str1当串str1为非空时为真
2、数字的判断
int1-eq int2两数相等为真
int1-ne int2两数不等为真
int1-gt int2int1大于int2为真
int1-ge int2int1大于等于int2为真
int1-lt int2int1小于int2为真
int1-le int2int1小于等于int2为真
3文件的判断
-r file用户可读为真
-w file用户可写为真
-x file用户可执行为真
-f file文件为正规文件为真
-d file文件为目录为真
-c file文件为字符特殊文件为真
-b file文件为块特殊文件为真
-s file文件大小非0时为真
-t file当文件描述符(默认为1)指定的设备为终端时为真
3、复杂逻辑判断
-a与
-o或
!非
EXAMPLE:
[-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存在且是一个名字管道(F如果O)则为真。
[-r FILE ]如果 FILE存在且是可读的则为真。
[-s FILE ]如果 FILE存在且大小不为0则为真。
[-t FD ]如果文件描述符 FD打开且指向一个终端则为真。
[-u FILE ]如果 FILE存在且设置了SUID(set user ID)则为真。
[-w FILE ]如果 FILE如果 FILE存在且是可写的则为真。
[-x FILE ]如果 FILE存在且是可执行的则为真。
[-O FILE ]如果 FILE存在且属有效用户ID则为真。
[-G FILE ]如果 FILE存在且属有效用户组则为真。
[-L FILE ]如果 FILE存在且是一个符号连接则为真。
[-N FILE ]如果 FILE存在 and has been mod如果ied since it was last read则为真。
[-S FILE ]如果 FILE存在且是一个套接字则为真。
[ FILE1-nt FILE2 ]如果 FILE1 has beewww.028x.cn#hanged more recently than FILE2, or如果 FILE1 exists and FILE2 does not则为真。
[ FILE1-ot FILE2 ]如果 FILE1比 FILE2要老,或者 FILE2存在且 FILE1不存在则为真。
[ FILE1-ef FILE2 ]如果 FILE1和 FILE2指向相同的设备和节点号则为真。
[-o OPTIONNAME ]如果 shell选项“OPTIONNAME”开启则为真。
[-z STRING ]“STRING”的长度为零则为真。
[-n STRING ] or [ STRING ]“STRING”的长度为非零 non-zero则为真。
[ STRING1== STRING2 ]如果2个字符串相同。“=” may be used instead of“==” for strict POSIX compliance则为真。
[ STRING1!= STRING2 ]如果字符串不相等则为真。