Linux的test
命令用于进行各种条件测试,并根据测试结果执行相应的操作
数值比较:
-eq
:等于-ne
:不等于-gt
:大于-ge
:大于等于-lt
:小于-le
:小于等于字符串比较:
=
:等于!=
:不等于-z
:字符串长度为零-n
:字符串长度不为零<
:字符串小于另一个字符串>
:字符串大于另一个字符串<=
:字符串小于等于另一个字符串>=
:字符串大于等于另一个字符串文件测试:
-e
:文件存在-d
:文件是目录-f
:文件是普通文件-r
:文件可读-w
:文件可写-x
:文件可执行-s
:文件大小大于零-empty
:文件为空其他测试:
-n
:变量或表达式非空-z
:变量或表达式为空-a
:逻辑与(与任何条件都为真时结果为真)-o
:逻辑或(与任何条件都为假时结果为假)-not
:逻辑非(对条件取反)示例:
# 检查变量是否为空
if test -z "$variable"; then
echo "变量为空"
else
echo "变量非空"
fi
# 检查文件是否存在
if test -e "file.txt"; then
echo "文件存在"
else
echo "文件不存在"
fi
# 检查目录是否为空
if test -s "/path/to/directory"; then
echo "目录非空"
else
echo "目录为空"
fi
注意:在实际使用中,可以使用方括号[]
代替test
命令进行条件测试,例如:
if [ -z "$variable" ]; then
echo "变量为空"
else
echo "变量非空"
fi
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:linux的cat命令功能有哪些