實驗一 Shell腳本初體驗
一、Shell概述
1.Shell是什麼
•Shell是一個指令解釋器,它為使用者提供了一個向Linux核心發送請求以便運作程式的界面系統級程式,使用者可以用Shell來啟動、挂起、停止甚至是編寫一些程式。
•Shell還是一個功能相當強大的程式設計語言,易編寫,易調試,靈活性強。Shell是解釋執行的腳本語言,在Shell中可以直接調用Linux系統指令。
2.Shell的分類
•Bourne Shell:從1979起Unix就開始使用Bourne Shell,Bourne Shell是主檔案名為sh。
•C Shell:C Shell主要在BSD版的Unix系統中使用,其文法和C語言類似而得名。
•Shell的兩種主要文法類型有Bourne和C,這兩種文法彼此不相容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括csh、tcsh(主要用于Unix)。
•Bash:Bash與sh相容,現在使用的Linux就是使用Bash作為使用者的基本shell。
3.Linux支援的Shell
•可以通路/etc/shells目錄檢視: sh、Bash、csh、tcsh
二、腳本執行方式
echo輸出指令
1 指令格式
echo [選項][輸出内容]
-e 支援反斜杠控制的字元轉換
控制字元表 ** 例一:**
echo Hello
echo "Hello, Linux! "
echo -e "\x68\t\x65\t\x6c\t\x6c\t\x6f"
2 更換顔色輸出
echo -e "\033[字背景顔色;文字顔色m字元串\033[0m"
** 例二: **
echo -e "\033[31m 紅色字 \033[0m"
echo -e "\033[33m 黃色字 \033[0m"
echo -e "\033[41;33m 紅底黃字 \033[0m"
echo -e "\033[41;37m 紅底白字 \033[0m"
例二
** 思考題 ** 自己動手輸出顔色為30-37号的文字,并辨識對應顔色
2. 編寫第一個Shell腳本
Shell腳本的建立可以按照一定的流程進行操作性,建立Shell腳本的大緻流程如圖所示: Shell腳本建立流程圖 下面就按照這個步驟來編寫我們的第一個Shell腳本。
2.1 在桌面建立名為hello.sh的檔案
打開終端,進入桌面檔案夾,輸入指令vim hello.sh:
2.2 編寫腳本内容
用i鍵進入vim插入模式,寫完腳本後用Esc鍵傳回普通模式,然後輸入:wq,儲存并退出
2.3 賦予腳本檔案可執行權限
2.4 在終端運作腳本
在終端輸入./hello.sh,即可在終端輸出腳本運作結果:
2.4.1
或者通過Shell來調用執行腳本(比如Bash): ** 這種情況下不需要賦予腳本檔案可執行權限 **
2.4.2
可以發現,兩種方式的執行結果是一樣的
** 思考題 ** 結合所講内容,自己編寫一個Shell腳本,并嘗試用兩種方式運作。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SNkRTNmJTN4QTOxkjYlVWZjVTM2kjZ0cDNjZWM0YGOz8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)