我可以在if语句中使用expr命令吗?我看到以下小脚本的非常奇怪的行为:
if (`expr $1 > $2`)
then
echo $1
else
echo $2
fi
按预期用于>和&lt ;,但是给出了语法错误或“找不到命令”=,或者< =,> =以及其他所有内容。
我做错了吗?
我知道我可以使用[]或测试。
答案 0 :(得分:1)
是的,但您不必使用命令替换。您只需将输出重定向到/dev/null
并检查退出代码即可。您还应引用重定向字符等特殊字符。
if expr "$1" '>' "$2" >/dev/null
then
echo "$1"
else
echo "$2"
fi