shell 比较功能字符合集(更新中)

数值比较

比较 描述
n1 -eq n2 n1是否与n2相等
nl -ge n2 n1是否大于或等于n2
n1 -gt n2 n1是否大于n2
n1 -le n2 n1是否小于或等于n2
n1 -lt n2 n1是否小于n2
nl -ne n2 n1是否不等于n2

字符串比较

比较 描述
str1 = str2 str1是否和str2相同
str1 != str2 str1是否和str2不同
str1 < str2 检查str1是否比str2小
str1 >str2 检查str1是否比str2大
-n str1 检查str1的长度是否非0
-z string string的长度为是否为零
string string不为空(长度大于0),则判断为真
:str1 检查str1的长度是否非0
string1 '>' string2 按照字典顺序string1排列在string2之后
string1 '<' string2 按照字典顺序string1排列在string2之前

文件比较

比较 描述
-a file 如果 file 存在,则为true
-b file 如果 file 存在并且是一个块(设备)文件,则为true
-c file 如果 file 存在并且是一个字符(设备)文件,则为true
-d file file是否存在并是一个目录
-e file file是否存在
-f file file是否存在并是一个文件
-g file 如果 file 存在并且设置了组 ID,则为true
-G file fi1e是否存在并且默认组与当前用户相同
-h file 如果 file 存在并且是符号链接,则为true
-k file 如果 file 存在并且设置了它的“sticky bit”,则为true
-L file 如果 file 存在并且是一个符号链接,则为true
-N file 如果 file 存在并且自上次读取后已被修改,则为true
-O file 如果 file 存在并且属于有效的用户 ID,则为true
-p file 如果 file 存在并且是一个命名管道,则为true
-r file file是否存在并可读
-s file file是否存在并非空
-S file 如果 file 存在且是一个网络 socket,则为true
-t fd 如果 fd 是一个文件描述符,并且重定向到终端,则为true。\n 这可以用来判断是否重定向了标准输入/输出/错误
-u file 如果 file 存在并且设置了 setuid 位,则为true
-w file file是否存在并可写
-x file file是否存在并可执行
-0 file file是否存在并属当前用户所有
file1 -nt file2 file1是否比file2新
file1 -ot file2 file1是否比file2旧日

$ 相关

\(0:   shell或shell脚本的名字 \)*:   以一对双引号给出参数列表
\(@:  将各个参数分别加双引号返回 \)#: 参数的个数
$_:  代表上一个命令的最后一个参数

\[:  代表所在命令的PID $!:   代表最后执行的后台命令的PID $?:  代表上一个命令执行后的退出状态 \]

posted on 2024-09-12 19:08  小朱配齐  阅读(19)  评论(0)    收藏  举报