Linux / Unix初學(xué)者的Shell腳本教程
什么是Shell?
操作由許多組件組成,但其兩個主要組件是 -
- Kernel
- Shell
內(nèi)核是計算機(jī)的核心。它使硬件和軟件之間的通信成為可能。雖然內(nèi)核是操作系統(tǒng)的最內(nèi)層部分,但shell是最外層的。
Linux操作系統(tǒng)中的shell以命令的形式接收來自您的輸入,對其進(jìn)行處理,然后給出輸出。它是用戶通過其處理程序,命令和腳本的接口。shell由運(yùn)行它的終端訪問。
當(dāng)您運(yùn)行終端時,命令行管理程序會發(fā)出命令提示符(通常為$),您可以在其中鍵入輸入,然后在按Enter鍵時執(zhí)行該輸入。之后,輸出或結(jié)果顯示在終端上。
外殼包裹在操作系統(tǒng)的精致內(nèi)部,保護(hù)其免受意外損壞。因此,Shell的名稱。
在本教程中,您將學(xué)習(xí) -
[TOC]
Shell的類型
Linux中有兩個主要的shell:
**1. ** Bourne Shell:此shell的提示是$及其衍生,列舉如下:
- POSIX shell也就是sh
- Korn Shell也就是sh
- bash(最受歡迎)
2. C shell:此shell的提示符為%,其子類別為:
- C shell也稱為csh
- Tops C shell也稱為tcsh
我們將在本教程中討論基于bash shell的shell腳本。
什么是Shell Scripting?
Shell腳本正在編寫一系列命令供shell執(zhí)行。它可以將冗長和重復(fù)的命令序列組合成一個簡單的腳本,可以隨時存儲和執(zhí)行。這減少了最終用戶所需的工作量。
讓我們了解創(chuàng)建Shell腳本的步驟
- 創(chuàng)建文件 使用一個VI編輯器(或任何其他編輯器)。名稱擴(kuò)展名為.sh的腳本文件
- 用#啟動腳本!/ bin / sh的
- 寫一些代碼。
- 將腳本文件另存為filename.sh
- 用于執(zhí)行腳本類型bash filename.sh
“#!” 是一個名為shebang的運(yùn)算符,它將腳本定向到解釋器位置。因此,如果我們使用“#!/ bin / sh”,腳本將被定向到bourne-shell。
讓我們創(chuàng)建一個小腳本 -
#!/ bin / sh
LS
讓我們看看創(chuàng)建它的步驟 -

我們執(zhí)行scrip sample.sh文件時執(zhí)行命令'ls'。
添加shell注釋
評論在任何計劃中都很重要。在Shell編程中,添加注釋的語法是
# comment
讓我們舉個例子來理解這一點(diǎn)。
什么是Shell變量?
如前所述,變量以字符和數(shù)字的形式存儲數(shù)據(jù)。類似地,Shell變量用于存儲信息,它們只能由shell來存儲。
例如,以下內(nèi)容創(chuàng)建一個shell變量,然后將其打印出來:
variable=“Hello”
echo $ variable
下面是一個使用變量的小腳本。
#!/bin/sh
echo "what is your name?"
read name
echo "How do you do, $name?"
read remark
echo "I am $remark too!"
讓我們理解,創(chuàng)建和執(zhí)行腳本的步驟
如你所見,程序選擇變量'name'的值為Joy,'remark'為優(yōu)秀。
這是一個簡單的腳本。您可以開發(fā)包含條件語句,循環(huán)和函數(shù)的高級腳本。Shell腳本將使您的生活變得輕松,Linux管理變得輕而易舉。

總結(jié)
- 內(nèi)核是操作系統(tǒng)的核心,它在硬件和軟件之間進(jìn)行通信
- Shell是一個通過CLI(如Terminal)解釋用戶命令的程序
- Bourne shell和C shell是Linux中使用最多的shell
- Shell腳本正在編寫一系列命令供shell執(zhí)行
- Shell變量存儲要讀取的shell的字符串或數(shù)字的值
- Shell腳本可以幫助您創(chuàng)建包含條件語句,循環(huán)和函數(shù)的復(fù)雜程序


