Bash测试命令操作符
我刚刚开始使用Bash脚本,我似乎无法理解这些参数的含义(Bash测试命令操作符,bash,arguments,Bash,Arguments,我刚刚开始使用Bash脚本,我似乎无法理解这些参数的含义(-ne和-n)。它们是Bash参数还是自行创建的参数 # Run as root if [ "$UID" -ne "$ROOT_UID" ] then echo "This must be run as root" exit $E_NOTROOT fi if [ -n "S1" ] then -ne的助记符为“不相等”;它对不等式的两个值进行算术比较 -n的助记符为“非空”;它测试参数(“$1”,在本例
-ne
和-n
)。它们是Bash参数还是自行创建的参数
# Run as root
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "This must be run as root"
exit $E_NOTROOT
fi
if [ -n "S1" ]
then
-ne
的助记符为“不相等”;它对不等式的两个值进行算术比较
-n
的助记符为“非空”;它测试参数(“$1”
,在本例中)是否为空字符串。如果定义了$1
,并且该值不是空字符串,则测试将为真
有关更多详细信息,请参阅
test
命令,也称为[
,也支持其他数值比较运算符:-lt
(小于)、-le
(小于或等于)、-gt
(大于)、-ge
(大于或等于)和-eq
(等于)“-z
运算符测试长度为零的字符串-但请注意,参数必须包含在双引号中,尽管([-z“$variable”]
),否则没有要测试的-z
参数。”
还有许多其他测试运算符;这不是一个详尽的列表。-ne的助记符是“不相等的”;它对两个不等式值进行算术比较
-n
的助记符为“非空”;它测试参数(“$1”
在本例中)是否为空字符串。如果定义了$1
,并且具有空字符串以外的值,则测试为真
有关更多详细信息,请参阅
test
命令,也称为[
,也支持其他数值比较运算符:-lt
(小于)、-le
(小于或等于)、-gt
(大于)、-ge
(大于或等于)和-eq
(等于)“-z
运算符测试长度为零的字符串-但请注意,参数必须包含在双引号中,尽管([-z“$variable”]
),否则没有要测试的-z
参数。”
还有许多其他测试运算符;这不是一个详尽的列表。-ne的助记符是“不相等的”;它对两个不等式值进行算术比较
-n
的助记符为“非空”;它测试参数(“$1”
在本例中)是否为空字符串。如果定义了$1
,并且具有空字符串以外的值,则测试为真
有关更多详细信息,请参阅
test
命令,也称为[
,也支持其他数值比较运算符:-lt
(小于)、-le
(小于或等于)、-gt
(大于)、-ge
(大于或等于)和-eq
(等于)“-z
运算符测试长度为零的字符串-但请注意,参数必须包含在双引号中,尽管([-z“$variable”]
),否则没有要测试的-z
参数。”
还有许多其他测试运算符;这不是一个详尽的列表。-ne的助记符是“不相等的”;它对两个不等式值进行算术比较
-n
的助记符为“非空”;它测试参数(“$1”
在本例中)是否为空字符串。如果定义了$1
,并且具有空字符串以外的值,则测试为真
有关更多详细信息,请参阅
test
命令,也称为[
,也支持其他数值比较运算符:-lt
(小于)、-le
(小于或等于)、-gt
(大于)、-ge
(大于或等于)和-eq
(等于)“-z
运算符测试长度为零的字符串-但请注意,参数必须包含在双引号中,尽管([-z“$variable”]
),否则没有要测试的-z
参数。”
还有许多其他测试操作员;这不是一个详尽的列表。来自
人工测试:
-n字符串
the length of STRING is nonzero
整数1-ne整数2
INTEGER1 is not equal to INTEGER2
从人工测试
:
-n字符串
the length of STRING is nonzero
整数1-ne整数2
INTEGER1 is not equal to INTEGER2
从人工测试
:
-n字符串
the length of STRING is nonzero
整数1-ne整数2
INTEGER1 is not equal to INTEGER2
从人工测试
:
-n字符串
the length of STRING is nonzero
整数1-ne整数2
INTEGER1 is not equal to INTEGER2
谢谢乔纳森,非常感谢。谢谢乔纳森,非常感谢。谢谢乔纳森,非常感谢。谢谢乔纳森,非常感谢。