Linux系列教程(二十)——Linux的shell概述以及如何執行腳本


  從這篇博客開始,我們將進入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。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM