Linux系列教程(二十)——Linux的shell概述以及Bash基本功能
從這篇部落格開始,我們将進入Linux的shell腳本的學習,這對于Linux學習愛好者而言是特别重要的一節,也是特别有意思的一節,shell 腳本就像我們知道的Java,php類似的程式設計語言一樣,通過shell腳本,我們能完成很多有意思的應用程式。在學習中找到樂趣,這也是最重要的。
本篇部落格我們先給大家介紹一下什麼是shell,以及bash的基本功能。
1、Shell 是什麼?
和大家通常說的shell是一門程式設計語言的說法其實是不完全正确的。
①、shell 是一個指令行解釋器,它為使用者提供了一個向 Linux 核心發送請求以便運作程式的界面系統級程式,使用者可以用 shell 來啟動、挂起、停止甚至是編寫一些程式。
比如,我們現在操作的界面就是shell,我們輸入一些指令,通過shell 去翻譯為機器語言,然後由硬體去執行這些指令。
②、shell 是一個功能很強大的程式設計語言,它易編寫、易調試,而且靈活性強。shell 是解釋執行的腳本語言,在 shell 中可以直接調用 Linux 系統指令。

其實windows類似于shell的就是它的圖形互動界面,我們在windows系統中打開檔案,删除檔案等操作,就是向windows系統發送指令。
2、Shell 的分類
3、檢視Linux系統支援的 shell:/etc/shells
我們可以在shell解釋器中直接輸入shell名稱進行切換
4、echo 輸出指令
這個指令如果學過Java的類似于 System.out.println(),如果學過C語言的類似于 printf(),在shell 當中文法形式如下:
echo 【選項】【輸出内容】
-e 表示支援反斜杠控制的字元轉換,也就是轉義字元。
範例:
5、腳本執行方式
首先我們編寫一個shell 腳本。通過 vi hello.sh,打開 hello.sh 檔案,然後在檔案中添加如下内容:
①、我們說Linux系統是不區分檔案字尾名的,這裡我們學習的是 bash,是以建立檔案 hello.sh,字尾名最好加上.sh(雖然不加也沒問題),便于我們識别。
②、腳本的第一行 #!,這是一個約定的标記,它告訴系統這個腳本需要用什麼解釋器去執行,即使用哪一種 shell,是以學習 bash,第一行固定都是 #!/bin/bash。這是不能省略的。
建立完畢之後,接下來執行該腳本,有如下兩種方式:
①、作為可執行程式
cd /tmp #進入到腳本所在的目錄
chmod +x ./hello.sh #使得腳本具有可執行權限
./hello.sh #執行腳本
注意,一定要寫成 ./hello.sh,而不是 hello.sh,運作其它二進制的程式也一樣,直接寫 hello.sh,linux 系統會去 PATH 裡尋找有沒有叫 hello.sh 的(這是後面會講的環境變量的配置),而隻有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 裡,你的目前目錄通常不在 PATH 裡,是以寫成 hello.sh 是會找不到指令的,要用 ./hello.sh 告訴系統說,就在目前目錄找。
②、作為解釋器參數
也就是直接運作解釋器,其參數就是 shell 腳本的檔案名,如下:
/bin/sh hello.sh
或者
bash hello.sh
注意:這種方式執行腳本,并不需要第一行寫上 #!/bin/bash。
作者:IT可樂
出處:http://www.cnblogs.com/ysocean/
資源:微信搜【IT可樂】關注我,回複 【電子書】有我特别篩選的免費電子書。
本文版權歸作者所有,歡迎轉載,但未經作者同意不能轉載,否則保留追究法律責任的權利。