昨天在定位一個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 ...