Linux的shell腳本教程(一)
Shell 是一個用 C 語言編寫的程序,它是用戶使用 Linux 的橋樑, 既是一種命令語言,又是一種程序設計語言。是指一種應用程序,這個應用程序提供了一個界面,用戶通過這個界面訪問操作系統內核的服務 。簡單得說,shell腳本其實是命令的集合,在linux終端其實也可以一條一條執行命令,但是命令一多就會十分麻煩,所以把這些命令集合在同一個文件夾中,就形成了一個命令集合,取名叫shell腳本。
Linux的shell種類很多,我們關注的是 Bash,也就是 Bourne Again Shell,由於易用和免費,Bash 在日常工作中被廣泛使用。同時,Bash 也是大多數Linux 系統默認的 Shell。
編寫第一個shell腳本
實例
打開文本編輯器(可以使用 vi/vim 命令來創建文件),新建一個文件 test .sh,擴展名爲 sh(sh代表shell),擴展名並不影響腳本執行,如果你用 php 寫 shell 腳本,擴展名就用 php。也可以直接在界面上新建文件,擴展名爲sh或php,這裏以sh爲例。
輸入一些代碼,第一行一般是這樣:
#!/bin/bash
echo "Hello World !"
第一行是" #! /bin/bash " 它代表的意思是:該文件使用的是bash語法。否則,你的shell腳本就不會被執行。
(如果在終端使用"#! /bin/sh"這種方式運行的腳本,不需要在第一行指定解釋器信息,寫了也沒用,下面會講到。)
“#!” 這一組符號如果出現在腳本的第一行,代表的是指定該shell腳本用哪種類型的shell來解釋和執行。
(如果"#!"這個符號出現的位置不是第一行,那麼代表這一行是註釋行,腳本不執行)
"echo"用來顯示後面的語句,向窗口輸出文本。類似於C語言的打印函數。
編好之後,保存爲test .sh。
運行腳本
右鍵桌面,打開終端(我用的是Ubuntu版本)。使用cd命令把終端定位到test .sh所在的目錄下,或者直接在該目錄下打開終端,否則腳本文件無法被找到。輸入,如下所示:
chmod +x ./test.sh
./test.sh
第一行使得腳本具有執行權限,第二行執行腳本。./test.sh 告訴系統說,就在當前目錄找。
這裏也可以下面命令行來執行腳本:
sh test.sh
使用sh命令去執行一個shell腳本的時候是可以加-x選項來查看這個腳本執行過程的,這樣有利於我們調試這個腳本哪裏出了問題。如執行test.sh文件,可以sh -x test.sh來執行。
在終端運行的結果如下:
chmod +x ./test.sh
./test.sh
Hello World! #輸出
sh test.sh
Hello World! #輸出
sh -x test.sh
+ echo Hello World! #輸出
Hello World! #輸出
另一種運行方式,即shell腳本中第一行不是“#! /bin/bash”的腳本。在終端執行shell腳本時需要加上/bin/sh,即告訴系統該文件使用的是bash語法即可。
如下:
/bin/sh test.sh
Hello World!
最最簡單的shell腳本文件就這樣。看完這個這少學會新建shell腳本文件和執行腳本文件。