1. 程式人生 > >每天一個linux命令之if的簡單用法

每天一個linux命令之if的簡單用法

宣告:允許轉載,轉載請註明連結,謝謝合作!

1 字串判斷

str1 = str2      當兩個串有相同內容、長度時為真
str1 != str2     當串str1和str2不等時為真
-n str1       當串的長度大於0時為真(串非空)
-z str1       當串的長度為0時為真(空串)
str1           當串str1為非空時為真

\ >  \ <                               比較大小的時候可以使用大於號,小於號,但是需轉義。

2 數字的判斷

int1 -eq int2    兩數相等為真
int1 -ne int2    兩數不等為真
int1 -gt int2    int1大於int2為真
int1 -ge int2    int1大於等於int2為真
int1 -lt int2    int1小於int2為真
int1 -le int2    int1小於等於int2為真

3 檔案的判斷

-r file     使用者可讀為真
-w file     使用者可寫為真
-x file     使用者可執行為真
-f file     檔案為正規檔案為真
-d file     檔案為目錄為真
-c file     檔案為字元特殊檔案為真
-b file     檔案為塊特殊檔案為真
-s file     檔案大小非0時為真
-t file     當檔案描述符(預設為1)指定的裝置為終端時為真

3 複雜邏輯判斷

-a       與
-o       或
!        非

4字串匹配

if [  `echo $str | grep -e regexp`  ];then


if判斷式
if [ 條件判斷一 ] && (||) [ 條件判斷二 ]; then
elif [ 條件判斷三 ] && (||) [ 條件判斷四 ]; then
else
   執行第三段內容程式
fi


shell判斷陣列中是否包含某個元素:

ary=(1 2 3)

a=2

if [[ "${ary[@]}" =~ "$a" ]] ; then
    echo "a in ary"
else
    echo "a not in ary"
fi

判讀字串($str)是否包含另一個字串($str1):

if [  `echo $str | grep -e '$str1'`  ] ; then

    echo yes

fi

e.g#引數總數不等於 1

if [ $# -ne 1 ]; then

  echo "usage : $0 table_name"

  exit 1

fi

e.g#判斷hdfs_home是否為空

if [ -z "$HDFS_HOME" ]; then

  echo "hdfs_home not defined, exiting"

  exit 1

fi

相關推薦

每天一個linux命令if簡單用法

宣告:允許轉載,轉載請註明連結,謝謝合作! 1 字串判斷 str1 = str2      當兩個串有相同內容、長度時為真 str1 != str2     當串str1和str2不等時為真 -n str1       當串的長度大於0時為真(串非空) -z str1       當串的長度為0時為真

每天一個linux命令coreutils包: [命令

coreutils包:[命令我所學習的是coreutils-8.24中的所有命令。按照字元順序依次學習。今天的命令是[,可能它也不是一個命令,但是需要搞明白這個是個什麼東西。先看看coreutils中提供的所有命令。如下: 擦,這個搞不懂,網上也不知道怎麼查,先這樣吧

每天一個Linux命令less

文件頭部 現在 命令 nbsp 但是 文件 ubunt linux att 之前一下子看過好多Linux命令,當初記得但是一直沒有使用就忘了,現在仿這別人寫一下爭取能記得時間久一點233333 我使用的是ubuntu Less 這是一個查看文件的命令 進行翻頁的命令

每天一個Linux命令mkdir

創建文件 dem documents exist ava highlight linux m lin 創建 Linux mkdir命令 mkdir [-p] filename 用於創建一個空目錄 如果該目錄下有相同名稱的目錄那麽會報錯 apple

每天一個linux命令ping命令

Linux系統的ping命令是常用的網路命令,它通常用來測試與目標主機的連通性,我們經常會說“ping一下某機器,看是不是開著”、不能開啟網頁時會說“你先ping閘道器地址192.168.1.1試試”。它通過傳送ICMP ECHO_REQUEST資料包到網路主機(send ICMP ECHO_REQUEST

每天一個Linux命令vmstat

vmstat命令是一個Linux系統監控工具,可以展現給定時間間隔的伺服器狀態,配合top命令,可以更加全方位檢視當前Linux的系統是否工作正常。下面我們就來看下語法和輸入各項的含義。一、語法vmstat命令一般跟兩個數字引數,如:vmstat 2 100。第一個數字

每天一個linux命令coreutils包: base64命令

gnu文件地址: http://www.gnu.org/software/coreutils/manual/html_node/base64-invocation.html#base64-invocation 我們知道base64是一個編碼,具體是什麼編碼: https:/

每天一個linux命令top命令

top命令堪稱加強版的“windows工作管理員”,如下為執行介面: 來看看每一行的含義: 第1行:系統時間,執行時間,登陸使用者數,系統負載(分別為1分鐘、5分鐘、15分鐘的平均值)。 第2行:程序總數,執行中的,睡眠中的,停止的,僵死的。 第3行:使用者佔用

每天一個linux命令8grep高級篇

表達式 大寫 world exp 大寫字母 重復數 tools href 反向 1語法 grep -[acinv] ‘搜索內容串‘ filename-a 以文本文件方式搜索-c 計算找到的符合行的次數-i 忽略大小寫-n 順便輸出行號-v 反向選擇,即找 沒有搜索

每天一個linux命令(文件操作):【轉載】find命令xargs

溢出 系統性能 問題 ameba pri 幾分鐘 body 只有一個 獲取參數   在使用 find命令的-exec選項處理匹配到的文件時, find命令將所有匹配到的文件一起傳遞給exec執行。但有些系統對能夠傳遞給exec的命令長度有限制,這樣在find命令運行幾分鐘之

每天一個Linux命令】01. Linux中ping命令用法

PING: PING (Packet Internet Grope),因特網包探索器 功能說明: 檢測網路的連通性:ping可以測試計算機名和計算機的 ip 地址,驗證與遠端計算機的連線,通過將 icmp 回顯資料包傳送到計算機並偵聽回顯回覆資料包來驗證與一臺

每天一個Linux命令----(壓縮、解壓縮tar與gzip)

1 下載了一個原始碼檔案abc.tar.gz或abc.tgz(字尾tar.gz和tgz基本沒啥區別,相同的還有.taz和.tar.Z) tar -xzvf abc.tar.gz 或tar -xzvf abc.tgz 註釋: tar.gz和tgz是經過歸

每天一個Linux命令】08. Linux中time命令用法

Linux中time命令,我們經常用來計算某個程式的執行耗時(real),使用者態cpu耗時(user),系統態cpu耗時(sys) time命令最常用的使用方式就是在其後面直接跟上命令和引數:ti

每天一個linux命令(16):tail命令

nvi 系統 strong 維基百科 ron .com linux tro 聯系 版權聲明更新:2017-05-20博主:LuckyAlan聯系:[email protected]/* */聲明:吃水不忘挖井人,轉載請註明出處! 1 文章介紹 本文介紹了Linu

每天一個linux命令(11):cat命令

部分 ron linu mv命令 平臺 linux下 一個 介紹 inux 版權聲明更新:2017-05-15博主:LuckyAlan聯系:[email protected]/* */聲明:吃水不忘挖井人,轉載請註明出處! 1 文章介紹 本文介紹了Linux下面

每天一個linux命令(9):cp命令

系統 lin 維基 介紹 參考 vip 聲明 com 開發平臺 版權聲明更新:2017-05-13博主:LuckyAlan聯系:[email protected]/* */聲明:吃水不忘挖井人,轉載請註明出處! 1 文章介紹 本文介紹了Linux下面的cp命令。

【轉載】每天一個Linux命令

mkdir 命令 結構 oca archive mic post rmdir 命令 每天 sof 每天一個linux命令(1) : ls 命令 每天一個linux命令(2) : cd 命令 每天一個linux命令(3) : pwd 命令 每天一個linux命令(4)

每天一個Linux命令001——ls

簡單 relink rect sql 目錄 print logs apach 我只 聯想記憶: ls - list directory 語法:   ls [OPTION]... [FILE]...   說明:ls是命令,OPTION是選項例如-a、-l,FIL

每天一個linux命令

文件和目錄屬性 vmstat命令 find命令 性能 參考 url http 目錄 standard 開始詳細系統的學習linux常用命令,堅持每天一個命令,所以這個系列為每天一個linux命令。學習的主要參考資料為:   1.《鳥哥的linux私房菜》   2.http:

每天一個linux命令(4):mkdir命令

指定位置 cnblogs 同名 parent --help pos uri 不存在 必須 linux mkdir 命令用來創建指定的名稱的目錄,要求創建目錄的用戶在當前目錄中具有寫權限,並且指定的目錄名不能是當前目錄中已有的目錄。 1.命令格式: mkdir [選