Linux基礎篇:簡單而有效的Linux Shell腳本示例

從歷史上看,shell一直是類Unix系統的原生命令行解釋器。多年來,它已被證明是Unix的主要功能之一,它本身已發展成爲一個全新的話題。Linux提供了具有強大功能的各種功能強大的Shell,包括Bash,Zsh,Tcsh和Ksh。這些Shell程序最令人驚奇的功能之一就是它們的可編程性。創建簡單而有效的Linux Shell腳本來處理日常工作非常容易。此外,對這一主題的一點了解將使您立即成爲Linux的高級用戶。請和我一起對Unix Shell腳本進行詳細介紹。

Linux Shell腳本示例

在Linux上完成的大多數shell腳本都涉及bash shell。具有指定選擇的高級用戶經常使用其他Shell,例如Zsh和Ksh。由於示例的廣泛使用和巨大的可用性,我們在示例中將大部分堅持使用Linux bash腳本。我們的編輯器還嘗試概述一些處理bash以外的shell的shell腳本示例。您會發現不同的Shell腳本之間相當熟悉。

Linux Bash腳本

Bash又名Bourne Again Shell,是當今大多數Linux發行版中的默認命令行解釋器。它是對早期Bourne Shell的升級,學習bash shell腳本將使您更快地瞭解其他shell腳本。因此,請自己嘗試這些簡單的示例以獲得第一手經驗。

1、Hello World

程序員經常通過學習hello world程序來學習新語言。這是一個簡單的程序,可將字符串“ Hello World”打印到標準輸出。使用vim或nano之類的編輯器創建文件linuxidc.sh並將以下幾行復制到其中。

#!/bin/bash
echo "Hello World,www.linuxidc.com"

保存並退出文件。您需要使用以下命令使該文件可執行。

$ chmod a + x linuxidc.sh

您可以使用以下兩個命令中的任何一個來運行它。

$ bash linuxidc.sh
$ ./linuxidc.sh

簡單而有效的Linux Shell腳本示例

它將打印出傳遞給腳本內部echo的字符串。

2、使用echo進行打印

echo命令用於以bash格式打印信息。它類似於C函數'printf',並提供許多常用選項,包括轉義序列和重定向。

將以下幾行復制到一個名爲linuxidc.com.sh的文件中,並使其可執行,如上所述。

#!/bin/bash
echo "Linux公社www.linuxidc.com"
echo -n "不使用換行符打印文本"
echo -e "\nUbuntu \t CentOS \t debian\n"

運行腳本,看看它做了什麼。-e選項用於告訴echo傳遞給它的字符串包含特殊字符,需要擴展功能。

 簡單而有效的Linux Shell腳本示例簡單而有效的Linux Shell腳本示例

3、使用註釋

註釋對於文檔很有用,並且是高質量代碼庫的要求。在處理關鍵邏輯的代碼中放入註釋是一種常見的做法。要註釋掉一行,只需在它前面使用#(散列)字符。檢查以下bash腳本示例。

#!/bin/bash

# 兩個值相加
((sum=17+19))

#打印結果
echo $sum

該腳本將輸出數字36。請在某些行之前使用#檢查如何使用註釋。但是第一行是一個例外。它被稱爲shebang,讓系統知道運行此腳本時使用哪個解釋器。

 簡單而有效的Linux Shell腳本示例簡單而有效的Linux Shell腳本示例

 

4、多行註釋

許多人使用多行註釋來記錄其Shell腳本。在下一個名爲linuxidc.com.sh的腳本中檢查如何完成此操作。

#!/bin/bash
: '
該腳本計算
5的平方。
'
((area=5*5))
echo $area

注意多行註釋是如何放置在:' and '字符中的。

簡單而有效的Linux Shell腳本示例

5. While循環

while循環結構用於多次運行某些指令。請查看以下名爲while.sh的腳本,以更好地理解此概念。

#!/bin/bash
i=0

while [ $i -le 2 ]
do
echo Number: $i
((i++))
done

簡單而有效的Linux Shell腳本示例

因此,while循環採用下面的形式。

while [ condition ]
do
commands 1
commands n
done

方括號是必需的。

6、For循環

for循環是另一種廣泛使用的bash shell構造,它允許用戶有效地遍歷代碼。下面演示一個簡單的示例。

#!/bin/bash

for (( a=1; a<=5; a++ ))
do
echo -n "$a "
done

printf "\n"

將此代碼保存在名爲inuxidc.com.sh的文件中,然後使用./linuxidc.com.sh運行它。不要忘記使其可執行。該程序應打印出數字1到15。

簡單而有效的Linux Shell腳本示例

7、接收用戶的輸入

獲取用戶輸入對於在腳本中實現用戶交互至關重要。下面的Shell腳本示例將演示如何在Shell程序中接收用戶輸入。

#!/bin/bash

echo -n "輸入內容:"
read something

echo "您輸入了:$something"

簡單而有效的Linux Shell腳本示例

因此,read結構後跟一個變量名,用於獲取用戶輸入。輸入存儲在這個變量中,可以使用$符號訪問它。

8、If語句

如果語句是Unix shell腳本中最常見的條件構造,則它們採用以下形式。

if CONDITION
then
STATEMENTS
fi

僅當條件爲true時才執行語句。fi關鍵字用於標記if語句的結尾。下面是一個簡單的示例。

#!/bin/bash

echo -n "請輸入數字: "
read num

if [[ $num -gt 17 ]]
then
echo "數字大於17."
fi

簡單而有效的Linux Shell腳本示例

僅當通過輸入提供的數字大於17時,以上程序纔會顯示輸出。該-gt表示大於; 類似地-lt小於;-le小於等於;和-Ge爲大於等於。[[]]是必需的。

9、使用If Else進行更多控制

將else構造與if結合使用,可以更好地控制腳本的邏輯。一個簡單的例子如下所示。

#!/bin/bash

read n
if [ $n -lt 10 ];
then
echo "這是一個數字"
else
echo "這是一個兩位數的數字"
fi

簡單而有效的Linux Shell腳本示例

else部分需要放在if的操作部分和fi之間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章