Shell腳本編程之入門基礎(二)if、case的使用

Shell編程之條件選擇和條件判斷

 

一、條件選擇(if)與條件判斷(case)的對比:

if語句:是選擇執行,if語句可嵌套。

if條件選擇使用格式

單分支

雙分支

多分支

if 判斷條件;then

條件為真的分支代碼

fi

if 判斷條件; then

條件為真的分支代碼

else

條件為假的分支代碼

fi

if CONDITION1; then

if-true

elifCONDITION2; then

if-ture

elifCONDITION3; then

if-ture

else

all-false

fi

case語句的使用格式

case支持glob風格的通配符:

*: 任意長度任意字符

?: 任意單個字符

[]:指定范圍內的任意單個字符

a|b: ab

case 變量引用in

PAT1)

分支1

;;

PAT2)

分支2

;;

*)

默認分支

;;

esac

以上的對比,case相對更加的靈活和書寫上簡單,編寫較復雜的腳步,case語句更勝于if語句。 

 

二、完成下面的習題:

練習:

1、  寫一個腳本/root/bin/createuser.sh,實現如下功能:使用一個用戶名做為參數,如果指定參數的用戶存在,就顯示其存在,否則添加之;顯示添加的用戶的id號等信息

腳本代碼:

blob.png

腳本執行結果:

blob.png

2、寫一個腳本/root/bin/yesorno.sh,提示用戶輸入yesno,并判斷用戶輸入的是yes還是no,或是其它信息

腳本代碼:

blob.png

腳本執行結果:

 blob.png

3、寫一個腳本/root/bin/filetype.sh,判斷用戶輸入文件路徑,顯示其文件類型(普通,目錄,鏈接,其它文件類型)

腳本代碼:

blob.png

腳本執行結果:

 blob.png

4、寫一個腳本/root/bin/checkint.sh,判斷用戶輸入的參數是否為正整數

腳本代碼:

blob.png 

腳本執行結果:

  blob.png 

原創文章,作者:Aaron_wang,如若轉載,請注明出處:http://www.www58058.com/34381

(0)
Aaron_wangAaron_wang
上一篇 2016-08-15 09:25
下一篇 2016-08-15 09:25

相關推薦

  • Linux系統程序包管理之RPM

    rpm包概述 RPM 是 Red at Package Manager 的縮寫,本意是Red Hat 軟件包管理,顧名思義是Red Hat 貢獻出來的軟件包管理工具;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流發行版本,以及在這些版本基礎上二次開發出來的發行版采用。 RPM包里面都包含什么?里面包含可執行的二進制程序,…

    Linux干貨 2016-08-24
  • CentOS系統啟動

    Linux組成 Linux: kernel+rootfs kernel:  進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能 rootfs: 程序和glibc 庫:函數集合, function,  調用接口(頭文件負責描述) 過程調用:procedure ,無返回值 函數調用:function 程序:二進制執行文件 內核設計流派…

    2017-05-15
  • 日常練習加部分步驟注釋

                                                      …

    2017-07-30
  • 馬哥教育網絡班22期+第1周課程練習

    1、描述計算機的組成及其功能 CPU:運算器、控制器、寄存器、緩存 存儲器:內存,RAM(Random Access Memory) Input:下指令,提供數據等 Output:輸出數據加工的結果 2、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別 Debian系列         ubuntu &n…

    Linux干貨 2016-08-15
  • N22-妙手-第九周課程練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現;: #!/bin/bash # declare -i numberOfLoginUser=0 declare -i numberOfUnloginUs…

    Linux干貨 2016-10-19
  • DNS服務器類型及查詢過程

    什么是DNS   DNS(Domain Name System,域名系統),因特網上作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析(或主機名解析)。 DNS域名稱   域名系統作為一個層次結構和分布式數據庫,包含各種類型的數據,…

    Linux干貨 2017-02-08
欧美性久久久久