linux shell中字符'1'如何进行比较?
发布网友
发布时间:2022-04-29 09:12
我来回答
共3个回答
热心网友
时间:2022-06-25 07:16
shell中有两种比较,一种是字符串比较,直接使用运算符号进行比较,一种是值的比较(即数字的比较)只能使用关键字进行比较即-eq -lt等
当然也能使用关键字进行字符串的比较,比如-z 来判断一个字符串是否为空
来一个例子
#!/bin/bash
a=1
if [ $a = 1 ]
then
echo =
fi
if [ $a -eq 1 ]
then
echo eq
fi
这时第一个if中的a既是进行了字符的比较,第二个if中是数值的比较。但结果是既输出了= 也输出了eq。就是说a即和数字的1相等,也和字符的1相等
热心网友
时间:2022-06-25 07:16
linux shell中不区分字符还是字符串的,只区分数值的比较还是字符串的比较。
你这样写就认为是字符串。字符的话你要写ASCII码数值,字符'1'要写成49,转换为数字进行比较。
热心网友
时间:2022-06-25 07:17
你要跟什么比?怎么比较
if [ 1 = $var ];then echo OK;fi