您好,登錄后才能下訂單哦!
Linux 中怎么使用Shell腳本,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
Linux Shell腳本示例
在Linux上完成的大多數(shù)shell腳本都涉及bash shell。具有指定選擇的高級用戶經(jīng)常使用其他Shell,例如Zsh和Ksh。由于示例的廣泛使用和巨大的可用性,我們在示例中將大部分堅持使用Linux bash腳本。我們的編輯器還嘗試概述一些處理bash以外的shell的shell腳本示例。您會發(fā)現(xiàn)不同的Shell腳本之間相當(dāng)熟悉。
Linux Bash腳本
Bash又名Bourne Again Shell,是當(dāng)今大多數(shù)Linux發(fā)行版中的默認(rèn)命令行解釋器。它是對早期Bourne Shell的升級,學(xué)習(xí)bash shell腳本將使您更快地了解其他shell腳本。因此,請自己嘗試這些簡單的示例以獲得第一手經(jīng)驗。
1. Hello World
程序員經(jīng)常通過學(xué)習(xí)hello world程序來學(xué)習(xí)新語言。這是一個簡單的程序,可將字符串“ Hello World”打印到標(biāo)準(zhǔn)輸出。使用vim或nano之類的編輯器創(chuàng)建文件linuxidc.sh并將以下幾行復(fù)制到其中。
#!/bin/bash echo "Hello World,www.linuxidc.com"
保存并退出文件。您需要使用以下命令使該文件可執(zhí)行。
$ chmod a + x linuxidc.sh
您可以使用以下兩個命令中的任何一個來運(yùn)行它。
$ bash linuxidc.sh $ ./linuxidc.sh
它將打印出傳遞給腳本內(nèi)部echo的字符串。
2. 使用echo進(jìn)行打印
echo命令用于以bash格式打印信息。它類似于C函數(shù)'printf',并提供許多常用選項,包括轉(zhuǎn)義序列和重定向。
將以下幾行復(fù)制到一個名為linuxidc.com.sh的文件中,并使其可執(zhí)行,如上所述。
#!/bin/bash echo "Linux公社www.linuxidc.com" echo -n "不使用換行符打印文本" echo -e "\nUbuntu \t CentOS \t debian\n"
運(yùn)行腳本,看看它做了什么。-e選項用于告訴echo傳遞給它的字符串包含特殊字符,需要擴(kuò)展功能。
3. 使用注釋
注釋對于文檔很有用,并且是高質(zhì)量代碼庫的要求。在處理關(guān)鍵邏輯的代碼中放入注釋是一種常見的做法。要注釋掉一行,只需在它前面使用#(散列)字符。檢查以下bash腳本示例。
#!/bin/bash # 兩個值相加 ((sum=17+19)) #打印結(jié)果 echo $sum
該腳本將輸出數(shù)字36。請在某些行之前使用#檢查如何使用注釋。但是第一行是一個例外。它被稱為shebang,讓系統(tǒng)知道運(yùn)行此腳本時使用哪個解釋器。
4. 多行注釋
許多人使用多行注釋來記錄其Shell腳本。在下一個名為linuxidc.com.sh的腳本中檢查如何完成此操作。
#!/bin/bash : ' 該腳本計算 5的平方。 ' ((area=5*5)) echo $area
注意多行注釋是如何放置在:' and '字符中的。
5. While循環(huán)
while循環(huán)結(jié)構(gòu)用于多次運(yùn)行某些指令。請查看以下名為while.sh的腳本,以更好地理解此概念。
#!/bin/bash i=0 while [ $i -le 2 ] do echo Number: $i ((i++)) done
因此,while循環(huán)采用下面的形式。
while [ condition ] do commands 1 commands n done
方括號是必需的。
6. For循環(huán)
for循環(huán)是另一種廣泛使用的bash shell構(gòu)造,它允許用戶有效地遍歷代碼。下面演示一個簡單的示例。
#!/bin/bash for (( a=1; a<=5; a++ )) do echo -n "$a " done printf "\n"
將此代碼保存在名為inuxidc.com.sh的文件中,然后使用./linuxidc.com.sh運(yùn)行它。不要忘記使其可執(zhí)行。該程序應(yīng)打印出數(shù)字1到15。
7、接收用戶的輸入
獲取用戶輸入對于在腳本中實(shí)現(xiàn)用戶交互至關(guān)重要。下面的Shell腳本示例將演示如何在Shell程序中接收用戶輸入。
#!/bin/bash echo -n "輸入內(nèi)容:" read something echo "您輸入了:$something"
因此,read結(jié)構(gòu)后跟一個變量名,用于獲取用戶輸入。輸入存儲在這個變量中,可以使用$符號訪問它。
8. If語句
如果語句是Unix shell腳本中最常見的條件構(gòu)造,則它們采用以下形式。
if CONDITION then STATEMENTS fi
僅當(dāng)條件為true時才執(zhí)行語句。fi關(guān)鍵字用于標(biāo)記if語句的結(jié)尾。下面是一個簡單的示例。
#!/bin/bash echo -n "請輸入數(shù)字: " read num if [[ $num -gt 17 ]] then echo "數(shù)字大于17." fi
僅當(dāng)通過輸入提供的數(shù)字大于17時,以上程序才會顯示輸出。該-gt表示大于; 類似地-lt小于;-le小于等于;和-Ge為大于等于。[[]]是必需的。
9. 使用If Else進(jìn)行更多控制
將else構(gòu)造與if結(jié)合使用,可以更好地控制腳本的邏輯。一個簡單的例子如下所示。
#!/bin/bash read n if [ $n -lt 10 ]; then echo "這是一個數(shù)字" else echo "這是一個兩位數(shù)的數(shù)字" fi
關(guān)于Linux 中怎么使用Shell腳本問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。