比较符号作为变量

是否可以将比较符号设置为变量?

我想做这样的事情:

var1=${1}
var2=${2}
condition=${3}    

if [[ "${var1}" "${condition}" "${var2}" ]]; then
   echo "Warning!"
fi
./alert.sh "10" "5" ">"

回答

设置没问题,就是难用。(您的代码引发了语法错误。)

您可以从 切换[[ ]]test,尽管它并不完全相同。

顺便说一下,>是一个字符串运算符。您可能想要-gt整数运算符。有关运算符表,请参阅上面的链接。

var1="10"
var2="5"
condition="-gt"

if test "${var1}" "${condition}" "${var2}"; then
   echo "Warning!"
fi

输出:

var1="10"
var2="5"
condition="-gt"

if test "${var1}" "${condition}" "${var2}"; then
   echo "Warning!"
fi

单方括号也有效(它们是等价的),但出于某种原因,ShellCheck检测到语法错误,因此为了让 ShellCheck 更轻松,我会说避免它,即使这是一个错误。

[ "${var1}" "${condition}" "${var2}" ]


以上是比较符号作为变量的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>