昨天在定位一个bug的时候,需要用shell脚本对字符串进行比较,出了一个小问题,就搜索总结了一下。 第一种方法:-eq 对比字符串是否相等,我首先想到的就是 -eq,然而打印的结果不正确。看笔记: -eq 检测两个整数是否相等,相等返回 true。 [ $a -eq $b ...
涉及到比较和判断的时候,要注意 整数比较使用 lt, gt,ge等比较运算符,详情参考:整数比较 文件测试使用 d, f, x等运算发,详情参考:文件测试 逻辑判断使用 amp amp 且 或 取反 字符串比较实用 字符串的比较使用以下三个比较运算符: 或者 gt lt z表示后面的值是否为空,为空则返回true,否则返回false。 n表示判断后面的值是否为空,不为空则返回true,为空则返回f ...
2018-01-11 00:06 0 21051 推荐指数:
昨天在定位一个bug的时候,需要用shell脚本对字符串进行比较,出了一个小问题,就搜索总结了一下。 第一种方法:-eq 对比字符串是否相等,我首先想到的就是 -eq,然而打印的结果不正确。看笔记: -eq 检测两个整数是否相等,相等返回 true。 [ $a -eq $b ...
对于MYSQL而言,select 1> '' 是true,mysql会将空字符串转成0进行处理。 但是对于hive而言,任何数与''比较都是null。hive对字符串转int时候使用的是Int.parseInt因此对于转回失败的值返回null,因此与常见关系数据库查询不统一,需要 ...
一、问题 最近在写 shell 脚本的时候,遇到了一些小问题,就是我在判断一个字符串是否为空的时候经常报下面的错,程序是正常执行了,但是有这个提示很蛋疼,下面就是看看是什么问题导致的? 二、问题解析 原始脚本 我的脚本是这样写的 运行后 第一个问题: -eq 是用于比较两个 ...
需求说明: 在写脚本的时候,有的时候,需要判断一个字符串是否为空,因此,在此写出如何判断一个字符串为空的方法。 简单来说,就是字符串的比较。 测试脚本: 以下的脚本用于测试str_1和str_2是否是空字符串: 测试执行过程: [root@redhat6 ...
(not equal) 2. 字符串比较 str1 = str2 ...
Shell中字符串、数值的比较 二元比较操作符,比较变量或者比较数字 整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于 ...
在shell中字符串与数值的比较方法是不同的,要注意区分整数比较: -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b" ] -gt 大于,如:if [ "$a" -gt "$b ...