- 浏览: 4752388 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
bzhao:
你也应该可以这样:(not tested)./rbtunnel ...
在Bash脚本中怎么关闭文件描述符? -
bzhao:
如果有A进程原代码情况下,通过如下调用,把他的子进程继承关闭则 ...
在Bash脚本中怎么关闭文件描述符? -
Master-Gao:
楼主咋没分析下源码呢?
我使用过的Linux命令之dirname - 截取给定路径的目录部分 -
jiedushi:
tail -F 就可以吧
Linux下实时跟踪log4j日志文件的bash脚本 - 增强了tail -f的功能 -
java_is_new:
新手学习了,就是不明白为一个网卡配多个ip有什么用
我使用过的Linux命令之ifconfig - 网络配置命令
Bash字符串处理(与Java对照) - 11.比较两个字符串大小(字典顺序、数值比较)
In Java
String.compareTo
int compareTo(String anotherString)
按字典顺序比较两个字符串。如果返回0,表示相等;<0表示小于;>0 表示大于。
int compareToIgnoreCase(String str)
不考虑大小写,按字典顺序比较两个字符串。
In Bash
判断是否大于(字典顺序)
格式1:[ "$S1" \> "$S2" ]
判断S1是否大于S2,注意转义字符\的使用,否则bash会认为是标准输出重定向。
下面两种写法也是可以的:
格式2:[ "$S1" '>' "$S2" ]
格式3:[ "$S1" ">" "$S2" ]
使用bash关键字[[来判断,不再需要对变量加双引号,也不需要对>进行转义。
格式4:[[ $S1 > $S2 ]]
[root@jfht ~]# S1=Hello
[root@jfht ~]# S2=World
[root@jfht ~]# if [ "$S1" \> "$S2" ]; then echo ">"; fi
[root@jfht ~]# [ "$S1" '>' "$S2" ] && echo '>'
[root@jfht ~]# [ "$S1" ">" "$S2" ] && echo '>'
[root@jfht ~]# [[ $S1 > $S2 ]] && echo '>'
[root@jfht ~]# [ "$S2" \> "$S1" ] && echo ">"
>
[root@jfht ~]#
判断是否小于(字典顺序)
格式1:[ "$S1" \< "$S2" ]
判断S1是否小于S2,注意转义字符\的使用,否则bash会认为是标准输入重定向。
下面两种写法也是可以的:
格式2:[ "$S1" '<' "$S2" ]
格式3:[ "$S1" "<" "$S2" ]
使用bash关键字[[来判断,不再需要对变量加双引号,也不需要对>进行转义。
格式4:[[ $S1 < $S2 ]]
[root@jfht ~]# S1=Hello
[root@jfht ~]# S2=World
[root@jfht ~]# if [ "$S1" \< "$S2" ]; then echo "<"; fi
<
[root@jfht ~]# [ "$S1" '<' "$S2" ] && echo '<'
<
[root@jfht ~]# [ "$S1" "<" "$S2" ] && echo '<'
<
[root@jfht ~]# [[ $S1 < $S2 ]] && echo '<'
<
判断是否大于等于(不小于)(字典顺序)
在bash中并没有 >= 操作符。
如果我们要实现 >= 比较,其实就是判断 > 或者 = ,需要采用 -o 操作符来进行。
either EXPRESSION1 or EXPRESSION2 is true
格式1:test "$S1" \> "$S2" -o "$S1" = "$S2"
格式2:[ "$S1" \> "$S2" -o "$S1" = "$S2" ]
还可以根据前面所述的 < 和 = 判断的方法,组合出很多写法,此处不一一列出。
如果用[[来进行,就不需要双引号和转义符。
True if either expression1 or expression2 is true.
格式3:[[ $S1 > $S2 || $S1 = $S2 ]]
上述格式显得繁琐,也可以用 非操作(!) 来实现,因为“大于等于”就是“不小于”。
True if expression is false.
格式4:[[ ! $S1 < $S2 ]]
[root@jfht ~]# S1=abc
[root@jfht ~]# S2=abd
[root@jfht ~]# [ "$S1" \> "$S2" -a "$S1" = "$S2" ] && echo ">="
[root@jfht ~]# [[ $S1 > $S2 || $S1 = $S2 ]] && echo ">="
[root@jfht ~]# [[ ! $S1 < $S2 ]] && echo ">="
[root@jfht ~]#
判断是否小于等于(不大于)(字典顺序)
在bash中实现 <= 的判断,也必须采用判断 < 或者 = 来进行。
格式1:test "$S1" \< "$S2" -o "$S1" = "$S2"
格式2:[ "$S1" \< "$S2" -o "$S1" = "$S2" ]
格式3:[[ $S1 < $S2 || $S1 = $S2 ]]
格式4:[[ ! $S1 > $S2 ]]
[root@jfht ~]# S1=abc
[root@jfht ~]# S2=abd
[root@jfht ~]# [ "$S1" \< "$S2" -o "$S1" = "$S2" ] && echo "<="
<=
[root@jfht ~]# [[ $S1 < $S2 || $S1 = $S2 ]] && echo "<="
<=
[root@jfht ~]# [[ ! $S1 > $S2 ]] && echo "<="
<=
[root@jfht ~]#
数值比较
注意:每种比较运算都可以写成好几种格式:
test格式:比较运算符为“-字母缩写”形式(见后面详细说明)。
[]格式:等价于test。
[[]]格式:其中的变量引用不需要加双引号,比较运算符与test同。
(())格式:其中的变量不需要加$符号,比较运算符的写法与Java同。
等于:eq uals
test "$VAR1" -eq "$VAR2"
[ "$VAR1" -eq "$VAR2" ]
[[ $VAR1 -eq VAR2 ]]
((VAR1 == VAR2))
大于等于(不小于):g reater e qual
test "$VAR1" -ge "$VAR2"
[ "$VAR1" -ge "$VAR2" ]
[[ $VAR1 -ge $VAR2 ]]
((VAR1 >= VAR2))
大于:g reater t han
test "$VAR1" -gt "$VAR2"
[ "$VAR1" -gt "$VAR2" ]
[[ $VAR1 -gt $VAR2 ]]
((VAR1 > VAR2))
小于等于(不大于):l ess e qual
test "$VAR1" -le "$VAR2"
[ "$VAR1" -le "$VAR2" ]
[[ $VAR1 -le $VAR2 ]]
((VAR1 <= VAR2))
小于:l ess t han
test "$VAR1" -lt "$VAR2"
[ "$VAR1" -lt "$VAR2" ]
[[ $VAR1 -lt $VAR2 ]]
((VAR1 < VAR2))
不等于:n ot e quals
test "$VAR1" -ne "$VAR2"
[ "$VAR1" -ne "$VAR2" ]
[[ $VAR1 -ne $VAR2 ]]
((VAR1 != VAR2))
[root@web ~]# VAR1=1234
[root@web ~]# VAR2=4321
[root@web ~]# test "$VAR1" -eq "$VAR2" && echo eq
[root@web ~]# test "$VAR1" -ne "$VAR2" && echo ne
ne
[root@web ~]#
INTEGER1 is equal to INTEGER2
INTEGER1 -ge INTEGER2
INTEGER1 is greater than or equal to INTEGER2
INTEGER1 -gt INTEGER2
INTEGER1 is greater than INTEGER2
INTEGER1 -le INTEGER2
INTEGER1 is less than or equal to INTEGER2
INTEGER1 -lt INTEGER2
INTEGER1 is less than INTEGER2
INTEGER1 -ne INTEGER2
INTEGER1 is not equal to INTEGER2
The expression is evaluated according to the rules described below under ARITHMETIC EVALUATION. If the
value of the expression is non-zero, the return status is 0; otherwise the return status is 1.
[[ expression ]]
Return a status of 0 or 1 depending on the evaluation of the conditional expression expression.
[root@web ~]# ((1==1)) && echo "=="
==
[root@web ~]# ((1==2)) && echo "=="
[root@web ~]# I1=100
[root@web ~]# I2=200
[root@web ~]# ((I1==I2)) && echo "=="
[root@web ~]# ((I1!=I2)) && echo "!="
!=
[root@web ~]# ((I1<I2)) && echo "<"
<
[root@web ~]# ((I1<=I2)) && echo "<="
<=
[root@web ~]# ((I1>I2)) && echo ">"
[root@web ~]# ((I1>=I2)) && echo ">="
[root@web ~]#
本文链接:http://codingstandards.iteye.com/blog/1176767 (转载请注明出处)
返回目录:Java程序员的Bash实用指南系列之字符串处理(目录)
上节内容:Bash字符串处理(与Java对照) - 10.判断两个字符串是否相等(不等)
下节内容:Bash字符串处理(与Java对照) - 12.字符串连接
发表评论
-
Bash字符串处理(与Java对照) - 22.判断字符串是否数字串
2011-10-25 09:25 5495Bash字符串处理(与Java对照) - 22.判断字符串是否 ... -
Bash字符串处理(与Java对照) - 21.字符串正则匹配
2011-10-24 09:07 11073Bash字符串处理(与Java对照) - 21.字符串正则匹配 ... -
Bash字符串处理(与Java对照) - 20.查找子串的位置
2011-10-19 09:14 6829Bash字符串处理(与Java对照) - 20.查找子串的位置 ... -
Bash字符串处理(与Java对照) - 19.查找字符的位置
2011-10-18 09:06 5950Bash字符串处理(与Java对照) - 19.查找字符的位置 ... -
Bash字符串处理(与Java对照) - 18.格式化字符串
2011-10-17 09:18 5007Bash字符串处理(与Java对照) - 18.格式化字符串 ... -
Bash字符串处理(与Java对照) - 17.判断是否以另外的字符串结尾
2011-10-09 08:58 6996Bash字符串处理(与Java对照) - 17.判断是否以另外 ... -
Bash字符串处理(与Java对照) - 16.判断是否以另外的字符串开头
2011-10-08 09:17 8410Bash字符串处理(与Java对照) - 16.判断是否以另外 ... -
Bash字符串处理(与Java对照) - 15.计算子串出现的次数
2011-09-28 09:37 3427Bash字符串处理(与Java对照) - 15.计算子串出现的 ... -
Bash字符串处理(与Java对照) - 14.判断是否包含另外的字符串(多达6种方法)
2011-09-27 13:22 8344Bash字符串处理(与Java对照) - 14.判断是否包含另 ... -
Bash字符串处理(与Java对照) - 13.字符串数组连接(以指定分隔符合并)
2011-09-26 09:19 5196Bash字符串处理(与Java对照) - 13.字符串数组连接 ... -
Bash字符串处理(与Java对照) - 12.字符串连接
2011-09-23 09:08 6367Bash字符串处理(与Java对照) - 12.字符串连接 ... -
Bash字符串处理(与Java对照) - 10.判断两个字符串是否相等(不等)
2011-09-20 09:16 6925Bash字符串处理(与Java对照) - 10.判断两个字符串 ... -
Bash字符串处理(与Java对照) - 9.获取字符串指定位置的字符、遍历字符串中的字符
2011-09-19 09:13 3750Bash字符串处理(与Java对照) - 9.获取字符串指定位 ... -
Bash字符串处理(与Java对照) - 8.计算字符串长度
2011-09-16 09:20 5685Bash字符串处理(与Java对照) - 8.计算字符串长度 ... -
Bash字符串处理(与Java对照) - 7.字符串与默认值
2011-09-15 09:20 3969Bash字符串处理(与Java对照) - 7.字符串与默认值 ... -
Bash字符串处理(与Java对照) - 6.判断字符串是否为空(不为空)
2011-09-14 09:20 7226Bash字符串处理(与Java对照) - 6.判断字符串是否为 ... -
Bash字符串处理(与Java对照) - 5.字符串输入(读取字符串)
2011-09-13 09:28 3948Bash字符串处理(与Java对照) - 5.字符串输入(读取 ... -
Bash字符串处理(与Java对照) - 4.字符串输出
2011-09-08 09:30 3756Bash字符串处理(与Java对照) - 4.字符串输出 I ... -
Bash字符串处理(与Java对照) - 3.给(字符串)变量赋值
2011-09-07 09:29 6895Bash字符串处理(与Java ... -
Bash字符串处理(与Java对照) - 2.字符串的表示方式(字符串常量)
2011-09-06 09:18 6152Bash字符串处理(与Java ...
相关推荐
pandas whl安装包,对应各个python版本和系统(具体看资源名字),找准自己对应的下载即可! 下载后解压出来是已.whl为后缀的安装包,进入终端,直接pip install pandas-xxx.whl即可,非常方便。 再也不用担心pip联网下载网络超时,各种安装不成功的问题。
基于java的大学生兼职信息系统答辩PPT.pptx
基于java的乐校园二手书交易管理系统答辩PPT.pptx
tornado-6.4-cp38-abi3-musllinux_1_1_i686.whl
Android Studio Ladybug 2024.2.1(android-studio-2024.2.1.10-mac.dmg)适用于macOS Intel系统,文件使用360压缩软件分割成两个压缩包,必须一起下载使用: part1: https://download.csdn.net/download/weixin_43800734/89954174 part2: https://download.csdn.net/download/weixin_43800734/89954175
有学生和教师两种角色 登录和注册模块 考场信息模块 考试信息模块 点我收藏 功能 监考安排模块 考场类型模块 系统公告模块 个人中心模块: 1、修改个人信息,可以上传图片 2、我的收藏列表 账号管理模块 服务模块 eclipse或者idea 均可以运行 jdk1.8 apache-maven-3.6 mysql5.7及以上 tomcat 8.0及以上版本
tornado-6.1b2-cp38-cp38-macosx_10_9_x86_64.whl
Android Studio Ladybug 2024.2.1(android-studio-2024.2.1.10-mac.dmg)适用于macOS Intel系统,文件使用360压缩软件分割成两个压缩包,必须一起下载使用: part1: https://download.csdn.net/download/weixin_43800734/89954174 part2: https://download.csdn.net/download/weixin_43800734/89954175
matlab
基于java的毕业生就业信息管理系统答辩PPT.pptx
随着高等教育的普及和毕业设计的日益重要,为了方便教师、学生和管理员进行毕业设计的选题和管理,我们开发了这款基于Web的毕业设计选题系统。 该系统主要包括教师管理、院系管理、学生管理等多个模块。在教师管理模块中,管理员可以新增、删除教师信息,并查看教师的详细资料,方便进行教师资源的分配和管理。院系管理模块则允许管理员对各个院系的信息进行管理和维护,确保信息的准确性和完整性。 学生管理模块是系统的核心之一,它提供了学生选题、任务书管理、开题报告管理、开题成绩管理等功能。学生可以在此模块中进行毕业设计的选题,并上传任务书和开题报告,管理员和教师则可以对学生的报告进行审阅和评分。 此外,系统还具备课题分类管理和课题信息管理功能,方便对毕业设计课题进行分类和归档,提高管理效率。在线留言功能则为学生、教师和管理员提供了一个交流互动的平台,可以就毕业设计相关问题进行讨论和解答。 整个系统设计简洁明了,操作便捷,大大提高了毕业设计的选题和管理效率,为高等教育的发展做出了积极贡献。
这个数据集来自世界卫生组织(WHO),包含了2000年至2015年期间193个国家的预期寿命和相关健康因素的数据。它提供了一个全面的视角,用于分析影响全球人口预期寿命的多种因素。数据集涵盖了从婴儿死亡率、GDP、BMI到免疫接种覆盖率等多个维度,为研究者提供了丰富的信息来探索和预测预期寿命。 该数据集的特点在于其跨国家的比较性,使得研究者能够识别出不同国家之间预期寿命的差异,并分析这些差异背后的原因。数据集包含22个特征列和2938行数据,涉及的变量被分为几个大类:免疫相关因素、死亡因素、经济因素和社会因素。这些数据不仅有助于了解全球健康趋势,还可以辅助制定公共卫生政策和社会福利计划。 数据集的处理包括对缺失值的处理、数据类型转换以及去重等步骤,以确保数据的准确性和可靠性。研究者可以使用这个数据集来探索如教育、健康习惯、生活方式等因素如何影响人们的寿命,以及不同国家的经济发展水平如何与预期寿命相关联。此外,数据集还可以用于预测模型的构建,通过回归分析等统计方法来预测预期寿命。 总的来说,这个数据集是研究全球健康和预期寿命变化的宝贵资源,它不仅提供了历史数据,还为未来的研究和政策制
基于微信小程序的高校毕业论文管理系统小程序答辩PPT.pptx
基于java的超市 Pos 收银管理系统答辩PPT.pptx
基于java的网上报名系统答辩PPT.pptx
基于java的网上书城答辩PPT.pptx
婚恋网站 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
基于java的戒烟网站答辩PPT.pptx
基于微信小程序的“健康早知道”微信小程序答辩PPT.pptx
Capital Bikeshare 数据集是一个包含从2020年5月到2024年8月的自行车共享使用情况的数据集。这个数据集记录了华盛顿特区Capital Bikeshare项目中自行车的租赁模式,包括了骑行的持续时间、开始和结束日期时间、起始和结束站点、使用的自行车编号、用户类型(注册会员或临时用户)等信息。这些数据可以帮助分析和预测自行车共享系统的需求模式,以及了解用户行为和偏好。 数据集的特点包括: 时间范围:覆盖了四年多的时间,提供了长期的数据观察。 细节丰富:包含了每次骑行的详细信息,如日期、时间、天气条件、季节等,有助于深入分析。 用户分类:数据中区分了注册用户和临时用户,可以分析不同用户群体的使用习惯。 天气和季节因素:包含了天气情况和季节信息,可以研究这些因素对骑行需求的影响。 通过分析这个数据集,可以得出关于自行车共享使用模式的多种见解,比如一天中不同时间段的使用高峰、不同天气条件下的使用差异、季节性变化对骑行需求的影响等。这些信息对于城市规划者、交通管理者以及自行车共享服务提供商来说都是非常宝贵的,可以帮助他们优化服务、提高效率和满足用户需求。同时,这个数据集也