linux shell 如何比较两个整数的大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux shell 如何比较两个整数的大小相关的知识,希望对你有一定的参考价值。

我刚刚学习shell脚本,下面是我写的特简单的加班,可是总是有问题:[[09 not found
希望与大侠帮忙查看一下。
#!/bin/sh
max=9
min=8
if [[$max > $min]]
then
echo 1
else echo 0
fi

另外,shell中比较数字/字符都是咋比较的呀?能讲解一下吗?
多谢多谢!

linux shell比较两个整数的大小可以采用以下的代码:

#!/bin/sh

max=9

min=8

if [ $max -gt $min ]

then

echo 1

else

echo 0

fi

数字的比较:

-eq 相等(equal)

-ne 不等(not equal)

-gt 大于(greater than)

-lt 小于(less than)

-ge 大于等于 (greater than or equal)

-le 小于等于 (less than or equal)

字符串的比较:

[ $str1 = $str2 ] 等于

[ $str1 != $str2 ] 不等于

[ -z $str ] 空字符串返回true

[ -n $str ] 或者 [ $str ] 非空字符串返回true

扩展资料:

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

shell命令

命令行c

用户登录到Linux系统时,可以看到一个shell提示符,标识了命令行的开始。用户可以在提示符后面输入任何命令及参数。例如:

$ date

二 11 23 01:34:58 CST 1999

$

用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统。命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如下:

$ Command Option Arguments

参考资料来源:百度百科-Linux Shell

参考技术A #!/bin/sh
max=9
min=8
if [ $max -gt $min ]
then
echo 1
else
echo 0
fi

数字的比较:
-eq 相等(equal)
-ne 不等(not equal)
-gt 大于(greater than)
-lt 小于(less than)
-ge 大于等于 (greater than or equal)
-le 小于等于 (less than or equal)

字符串的比较:
[ $str1 = $str2 ] 等于
[ $str1 != $str2 ] 不等于
[ -z $str ] 空字符串返回true
[ -n $str ] 或者 [ $str ] 非空字符串返回true本回答被提问者和网友采纳
参考技术B if [ max -gt min ]

-gt 大于
-lt 小于
-eq 等于
-ge 大于等于
-le 小于等于
-ne 不等于
参考技术C 中括号里两边必须有空格

关于SHELL脚本中日期大小的比较

在一个目录中有很多以当前日期为命名的文件夹(举例:20130801),我想实现把7天之前的文件夹全部删掉..请问具体怎么实现?

参考技术A 1、既然按照当前日期,创建的,那么应该可以根据系统给的时间戳为属性,完成操作即可。
2、根据你的说法山掉7天谴的文件夹,那么应该是7天前建立的文件夹进行删掉所以用ctime。

find ./ -ctime +7 -exec rm -rf \;
参考技术B #!/bin/sh
find /path/you/want/to/delete -type d -mtime +7 -exec rm -r \;

把上面的写入到一个脚本里,如/usr/local/bin/del.sh
chmod +x /usr/local/bin/del.sh
把下面这行加入到cron job里:
0 1 * * * /usr/local/bin/del.sh本回答被提问者采纳

以上是关于linux shell 如何比较两个整数的大小的主要内容,如果未能解决你的问题,请参考以下文章

shell中字符串比较,整数大小比较

shell脚本-比较两个整数大小

shell脚本-比较两个整数大小

Linux下shell脚本中怎么比较两个数字

shell 浮点数和整数比较大小

shell 浮点数和整数比较大小