除了 "if,else" 形式之外,還有其它形式的 "if" 語(yǔ)句:
復(fù)制代碼 代碼如下:
if [ condition ]
then
action
fi
只有當(dāng) condition 為真時(shí),該語(yǔ)句才執(zhí)行操作,否則不執(zhí)行操作,并繼續(xù)執(zhí)行 "fi" 之后的任何行。
復(fù)制代碼 代碼如下:
if [ condition ]
then
action
elif [ condition2 ]
then
action2
.
.
.
elif [ condition3 ]
then
else
actionx
fi
以上 "elif" 形式將連續(xù)測(cè)試每個(gè)條件,并執(zhí)行符合第一個(gè) 真 條件的操作。如果沒(méi)有條件為真,則將執(zhí)行 "else" 操作,如果有一個(gè)條件為真,則繼續(xù)執(zhí)行整個(gè) "if,elif,else" 語(yǔ)句之后的行。
接收自變量
在 介紹性文章 中的樣本程序中,我們使用環(huán)境變量 "$1" 來(lái)引用第一個(gè)命令行自變量。類(lèi)似地,可以使用 "$2"、"$3" 等來(lái)引用傳遞給腳本的第二和第三個(gè)自變量。這里有一個(gè)例子:
復(fù)制代碼 代碼如下:
#!/usr/bin/env bash
echo name of script is $0
echo first argument is $1
echo second argument is $2
echo seventeenth argument is $17
echo number of arguments is $#
除以下兩個(gè)細(xì)節(jié)之外,此例無(wú)需說(shuō)明。第一,"$0" 將擴(kuò)展成從命令行調(diào)用的腳本名稱,"$#" 將擴(kuò)展成傳遞給腳本的自變量數(shù)目。試驗(yàn)以上腳本,通過(guò)傳遞不同類(lèi)型的命令行自變量來(lái)了解其工作原理。
有時(shí)需要一次引用 所有 命令行自變量。針對(duì)這種用途,bash 實(shí)現(xiàn)了變量 "$@",它擴(kuò)展成所有用空格分開(kāi)的命令行參數(shù)。在本文稍后的 "for" 循環(huán)部分中,您將看到使用該變量的例子。