什么是shell
Shell就是一個命令行解釋器,是一個作為用戶與Linux系統間接口的應用程序,它允許用戶向操作系統輸入需要執行的命令,它的作用就是遵循一定的語法將輸入的命令加以解釋并傳給系統。 這與Windows的命令提示符類似,但Linux shell的功能更加強大。
Shell本身是一個用C語言編寫的程序,它是用戶使用Linux的橋梁。Shell既是一種命令語言,又是一種程序設計語言(也就是我們所說的shell腳本)。
作為命令語言,它交互式地解釋和執行用戶輸入的命令;作為程序設計語言,它定義了各種變量和參數,并提供了許多在高級語言中才具有的控制結構,包括循環和分支。
它雖然不是Linux系統核心的一部分,但它調用了系統核心的大部分功能來執行程序、建立文件并以并行的方式協調各個程序的運行。因此,對于用戶來說,shell是最重要的實用程序,深入了解和熟練掌握shell的特性極其使用方法,是用好Linux系統的關鍵。
什么是腳本
腳本簡單地說就是一條條需要執行的命令,這些命令是可以看到的(如可以用記事本打開查看、編輯),腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識別的指令,并按程序順序執行。因為腳本在執行時多了一道翻譯的過程,所以它比二進制程序執行效率要稍低一些。但又因為是一條條命令的集合,只需要解釋器進行解釋,而不需要編譯。Shell程序從腳本中一行一行讀取并執行這些命令,相當于一個用戶把腳本中的命令一行一行敲到Shell提示符下執行。
第一個shell腳本
打開文本編輯器(可以使用 vi/vim 命令來創建文件),新建一個文件 test.sh,擴展名為 sh(sh代表shell)
實例:
#!/bin/bash
echo "Hello World !"
#! 是一個約定的標記,它告訴系統這個腳本需要什么解釋器來執行,即使用哪一種 Shell。
echo 命令用于向窗口輸出文本。
運行shell腳本
將上面的代碼保存為 test.sh,并 cd 到相應目錄:
1.作為可執行文件運行
chmod a+x ./test.sh #使腳本具有執行權限
./test.sh #執行腳本
2.bash命令運行
./bash test.sh #執行腳本