Shell 入門教程(十一):如何進行字符串比較


文章首發於【陳樹義的博客園】,點擊跳轉到原文:https://www.cnblogs.com/chanshuyi/p/quick_start_of_shell_11_string_compare.html

在 Shell 中進行字符串比較有專門的六個操作符,他們分別是:

  • =:檢測兩個字符串是否相等,相等返回 true。
  • !=:檢兩個字符串是否相等,不相等返回 true。
  • -z:檢測字符串長度是否為0,為 0 返回 true。
  • -n:檢測字符串長度是否為0,不為 0 返回 true。
  • str:檢測字符串是否為空,不為空返回 true。

要記得操作符左右兩邊都要加空格,否則會報語法錯誤。

這六個操作符可以進行字符串的非空比較,長度比較,相等比較等。下面的這個例子完整列出了這六個字符串操作符的使用方法:

#!/bin/bash
# author:陳樹義
# site:http://www.shuyi.me

a="abc"
b="efg"
# 字符串是否相等
if [ $a = $b ]
then
   echo "$a = $b : a 等於 b"
else
   echo "$a = $b: a 不等於 b"
fi
if [ $a != $b ]
then
   echo "$a != $b : a 不等於 b"
else
   echo "$a != $b: a 等於 b"
fi
# 字符串長度是否為0
if [ -z $a ]
then
   echo "-z $a : 字符串長度為 0"
else
   echo "-z $a : 字符串長度不為 0"
fi
if [ -n "$a" ]
then
   echo "-n $a : 字符串長度不為 0"
else
   echo "-n $a : 字符串長度為 0"
fi
# 字符串是否為空
if [ $a ]
then
   echo "$a : 字符串不為空"
else
   echo "$a : 字符串為空"
fi

輸出結果為:

abc = efg: a 不等於 b
abc != efg : a 不等於 b
-z abc : 字符串長度不為 0
-n abc : 字符串長度不為 0
abc : 字符串不為空

文章首發於【陳樹義的博客園】,點擊跳轉到原文:https://www.cnblogs.com/chanshuyi/p/quick_start_of_shell_11_string_compare.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM