我开始学习为bash终端编写脚本,但我无法弄清楚如何让比较正常工作.我正在使用的脚本是:
echo "enter two numbers";
read a b;
echo "a=$a";
echo "b=$b";
if [ $a \> $b ];
then
echo "a is greater than b";
else
echo "b is greater than a";
fi;
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是它比较了第一个数字的数字,即9大于10000,但1大于09
如何将数字转换为类型以进行真正的比较?
在Bash中,我可以编写以下测试
[[ "f" > "a" ]]
Run Code Online (Sandbox Code Playgroud)
这导致返回0,即为真.bash如何实际执行此字符串比较?从我的理解>做一个整数比较.它是否尝试比较操作数的ASCII值?
我有一个if语句我需要运行,只要我存储在我的$counter变量中的值大于5.
以下是我当前(无效)脚本的相应部分:
if $counter > 5
then
echo "something"
fi
Run Code Online (Sandbox Code Playgroud)
我犯的错误可能非常明显,但由于某种原因我无法在线找到解决方案..谢谢!