Linux Shell學習筆記七

來源:互聯網
上載者:User
第八學時 條件陳述式10.1.1 一個簡單的if語句$ if 3>2;then echo 3; else echo 2;fi  #這是在命令列下的形式$ cat > test.sh#!/bin/shif 3>2; thenecho 3elseecho 2fi10.1.2 使用test格式:test expression簡單的調用方式:[ expression ]#注意expression左右兩邊必須有兩個空格test可理解的運算式類型分為三類:1.檔案測試2.字串比較3.數字比較1.檔案測試檔案測試運算式檢查是否一個檔案滿足某種特殊規則。檔案測試的通常文法為:test option file或[ option file ]例如:$ if [ -d /home/ranga/bin ]; then PATH="$PATH:/home/ranga/bin"; fi測試目錄/home/ranga/bin是否存在,若存在,將其增加到變數PATH上。test命令的檔案測試選項-b file若檔案存在且是一個塊特殊檔案,則為真。-c file若檔案存在且是一個字元特殊檔案,則為真。-d file若檔案存在且是一個目錄,則為真。-e file若檔案存在則為真。-f file若檔案存在且為一個規則檔案則為真。-h file若檔案存在且是一個符號連結,則為真。-r file若檔案存在且可讀,則為真。-w file若檔案存在且可寫,則為真。-x file若檔案存在且可執行,則為真。-o file若檔案存在且被有效使用者ID所擁有,則為真。2.字串比較test命令也支援簡單的字串比較1)檢查是否字串為空白2)檢查是否兩個字串相等test命令中的字串比較選項-z string若string長度為0,則為真-n string若string長度不為0,則為真string1=string2若兩個字串相等,則為真string1!=string2若兩個字串不相等,則為真例如:if [ -z "$FRUIT" ]; thenecho "Your fruit is empty";elseecho "Your friut has the following fruit:$FRUIT"fitest命令的數字比較操作符int1 -eq int2若int1等於int2,則為真int1 -ne int2若int1不等於int2,則為真int1 -lt int2若int1小於int2,則為真int1 -le int2若int1小於等於int2,則為真int1 -gt int2若int1大於int2,則為真int1 -ge int2若int1大於等於int2,則為真複合運算式例如:$ if [ -z "$DTHOME" ] && [ -d "/usr/dt" ] ;then DTHOME=/usr/dt ; fi10.2 case語句case word inpattern1) list1 ;;pattern2) list2 ;;esac這裡的";;"相當於C、PHP中的break例如:#!/bin/shFRUIT=kiwicase "$FRUIT" inapple) echo "Apple" ;;banana) echo "bannana" ;;kiwi) echo "The value is kiwi" ;;esac使用模式pattern是一個包含規則字元和特殊萬用字元的字串,模式決定了匹配是否存在。case "$TERM" in*term)TERM=exterm;;network|dialup|unknown|vt[0-9]{1,3})TERM=vt100;;esac若字串以字串"term"結尾,則$TERM賦值為xterm,否則,$TERM和字串network,dialup,unknown,vt[0-9]{1,3}比較,若與其中一個匹配,則$TERM被設為vt100
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.