如何解决我可以使用变量作为比较运算符吗?
我想使用一个变量作为比较运算符。可能吗?像这样:
x=10
y=20
t="<"
res=`expr $x $y $t`
或
x=10
y=20
t="-lt"
if [ $x $y $t ]; then
..
fi
我认为哪种方法都行。
解决方法
您为什么不仅仅进行测试*?对的,这是可能的。 Shell是解释性语言。命令test
([
是别名)与其他任何命令一样接受参数。这些也可以是变量。
示例:
#!/usr/bin/env sh
x=10
y=20
t="-lt"
if [ $x $t $y ]; then
echo "a"
fi
if [ $y $t $x ]; then
echo "b"
else
echo "c"
fi
t="-ge"
if [ $y $t $x ]; then
echo "d"
fi
输出:
a
c
d
*您的示例不起作用,因为您在值(变量$t
和$x
)之后(而不是在它们之间)后面有运算符(变量$y
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。