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