Linux詳解(十七)Linux奇妙的shell腳本

從這篇文章開始,我們將進入Linux的shell腳本的學習,這對於Linux學習愛好者而言是特別重要的一節,也是特別有意思的一節,shell 腳本就像我們知道的Java,php類似的編程語言一樣,通過shell腳本,我們能完成很多有意思的應用程序。在學習中找到樂趣,這也是最重要的。

本篇文章我們先給大家介紹一下什麼是shell,以及bash的基本功能。

從這篇文章開始,我們將進入Linux的shell腳本的學習,這對於Linux學習愛好者而言是特別重要的一節,也是特別有意思的一節,shell 腳本就像我們知道的Java,php類似的編程語言一樣,通過shell腳本,我們能完成很多有意思的應用程序。在學習中找到樂趣,這也是最重要的。

本篇文章我們先給大家介紹一下什麼是shell,以及bash的基本功能。

Linux詳解(十七)Linux奇妙的shell腳本

1、Shell 是什麼?

和大家通常說的shell是一門編程語言的說法其實是不完全正確的。

①、shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內核發送請求以便運行程序的界面系統級程序,用戶可以用 shell 來啟動、掛起、停止甚至是編寫一些程序。

比如,我們現在操作的界面就是shell,我們輸入一些命令,通過shell 去翻譯為機器語言,然後由硬件去執行這些命令。

②、shell 是一個功能很強大的編程語言,它易編寫、易調試,而且靈活性強。shell 是解釋執行的腳本語言,在 shell 中可以直接調用 Linux 系統命令。

從這篇文章開始,我們將進入Linux的shell腳本的學習,這對於Linux學習愛好者而言是特別重要的一節,也是特別有意思的一節,shell 腳本就像我們知道的Java,php類似的編程語言一樣,通過shell腳本,我們能完成很多有意思的應用程序。在學習中找到樂趣,這也是最重要的。

本篇文章我們先給大家介紹一下什麼是shell,以及bash的基本功能。

Linux詳解(十七)Linux奇妙的shell腳本

1、Shell 是什麼?

和大家通常說的shell是一門編程語言的說法其實是不完全正確的。

①、shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內核發送請求以便運行程序的界面系統級程序,用戶可以用 shell 來啟動、掛起、停止甚至是編寫一些程序。

比如,我們現在操作的界面就是shell,我們輸入一些命令,通過shell 去翻譯為機器語言,然後由硬件去執行這些命令。

②、shell 是一個功能很強大的編程語言,它易編寫、易調試,而且靈活性強。shell 是解釋執行的腳本語言,在 shell 中可以直接調用 Linux 系統命令。

Linux詳解(十七)Linux奇妙的shell腳本

其實windows類似於shell的就是它的圖形交互界面,我們在windows系統中打開文件,刪除文件等操作,就是向windows系統發送命令。

2、Shell 的分類

從這篇文章開始,我們將進入Linux的shell腳本的學習,這對於Linux學習愛好者而言是特別重要的一節,也是特別有意思的一節,shell 腳本就像我們知道的Java,php類似的編程語言一樣,通過shell腳本,我們能完成很多有意思的應用程序。在學習中找到樂趣,這也是最重要的。

本篇文章我們先給大家介紹一下什麼是shell,以及bash的基本功能。

Linux詳解(十七)Linux奇妙的shell腳本

1、Shell 是什麼?

和大家通常說的shell是一門編程語言的說法其實是不完全正確的。

①、shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內核發送請求以便運行程序的界面系統級程序,用戶可以用 shell 來啟動、掛起、停止甚至是編寫一些程序。

比如,我們現在操作的界面就是shell,我們輸入一些命令,通過shell 去翻譯為機器語言,然後由硬件去執行這些命令。

②、shell 是一個功能很強大的編程語言,它易編寫、易調試,而且靈活性強。shell 是解釋執行的腳本語言,在 shell 中可以直接調用 Linux 系統命令。

Linux詳解(十七)Linux奇妙的shell腳本

其實windows類似於shell的就是它的圖形交互界面,我們在windows系統中打開文件,刪除文件等操作,就是向windows系統發送命令。

2、Shell 的分類

Linux詳解(十七)Linux奇妙的shell腳本

從這篇文章開始,我們將進入Linux的shell腳本的學習,這對於Linux學習愛好者而言是特別重要的一節,也是特別有意思的一節,shell 腳本就像我們知道的Java,php類似的編程語言一樣,通過shell腳本,我們能完成很多有意思的應用程序。在學習中找到樂趣,這也是最重要的。

本篇文章我們先給大家介紹一下什麼是shell,以及bash的基本功能。

Linux詳解(十七)Linux奇妙的shell腳本

1、Shell 是什麼?

和大家通常說的shell是一門編程語言的說法其實是不完全正確的。

①、shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內核發送請求以便運行程序的界面系統級程序,用戶可以用 shell 來啟動、掛起、停止甚至是編寫一些程序。

比如,我們現在操作的界面就是shell,我們輸入一些命令,通過shell 去翻譯為機器語言,然後由硬件去執行這些命令。

②、shell 是一個功能很強大的編程語言,它易編寫、易調試,而且靈活性強。shell 是解釋執行的腳本語言,在 shell 中可以直接調用 Linux 系統命令。

Linux詳解(十七)Linux奇妙的shell腳本

其實windows類似於shell的就是它的圖形交互界面,我們在windows系統中打開文件,刪除文件等操作,就是向windows系統發送命令。

2、Shell 的分類

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

從這篇文章開始,我們將進入Linux的shell腳本的學習,這對於Linux學習愛好者而言是特別重要的一節,也是特別有意思的一節,shell 腳本就像我們知道的Java,php類似的編程語言一樣,通過shell腳本,我們能完成很多有意思的應用程序。在學習中找到樂趣,這也是最重要的。

本篇文章我們先給大家介紹一下什麼是shell,以及bash的基本功能。

Linux詳解(十七)Linux奇妙的shell腳本

1、Shell 是什麼?

和大家通常說的shell是一門編程語言的說法其實是不完全正確的。

①、shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內核發送請求以便運行程序的界面系統級程序,用戶可以用 shell 來啟動、掛起、停止甚至是編寫一些程序。

比如,我們現在操作的界面就是shell,我們輸入一些命令,通過shell 去翻譯為機器語言,然後由硬件去執行這些命令。

②、shell 是一個功能很強大的編程語言,它易編寫、易調試,而且靈活性強。shell 是解釋執行的腳本語言,在 shell 中可以直接調用 Linux 系統命令。

Linux詳解(十七)Linux奇妙的shell腳本

其實windows類似於shell的就是它的圖形交互界面,我們在windows系統中打開文件,刪除文件等操作,就是向windows系統發送命令。

2、Shell 的分類

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

從這篇文章開始,我們將進入Linux的shell腳本的學習,這對於Linux學習愛好者而言是特別重要的一節,也是特別有意思的一節,shell 腳本就像我們知道的Java,php類似的編程語言一樣,通過shell腳本,我們能完成很多有意思的應用程序。在學習中找到樂趣,這也是最重要的。

本篇文章我們先給大家介紹一下什麼是shell,以及bash的基本功能。

Linux詳解(十七)Linux奇妙的shell腳本

1、Shell 是什麼?

和大家通常說的shell是一門編程語言的說法其實是不完全正確的。

①、shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內核發送請求以便運行程序的界面系統級程序,用戶可以用 shell 來啟動、掛起、停止甚至是編寫一些程序。

比如,我們現在操作的界面就是shell,我們輸入一些命令,通過shell 去翻譯為機器語言,然後由硬件去執行這些命令。

②、shell 是一個功能很強大的編程語言,它易編寫、易調試,而且靈活性強。shell 是解釋執行的腳本語言,在 shell 中可以直接調用 Linux 系統命令。

Linux詳解(十七)Linux奇妙的shell腳本

其實windows類似於shell的就是它的圖形交互界面,我們在windows系統中打開文件,刪除文件等操作,就是向windows系統發送命令。

2、Shell 的分類

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

3、查看Linux系統支持的 shell:/etc/shells

從這篇文章開始,我們將進入Linux的shell腳本的學習,這對於Linux學習愛好者而言是特別重要的一節,也是特別有意思的一節,shell 腳本就像我們知道的Java,php類似的編程語言一樣,通過shell腳本,我們能完成很多有意思的應用程序。在學習中找到樂趣,這也是最重要的。

本篇文章我們先給大家介紹一下什麼是shell,以及bash的基本功能。

Linux詳解(十七)Linux奇妙的shell腳本

1、Shell 是什麼?

和大家通常說的shell是一門編程語言的說法其實是不完全正確的。

①、shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內核發送請求以便運行程序的界面系統級程序,用戶可以用 shell 來啟動、掛起、停止甚至是編寫一些程序。

比如,我們現在操作的界面就是shell,我們輸入一些命令,通過shell 去翻譯為機器語言,然後由硬件去執行這些命令。

②、shell 是一個功能很強大的編程語言,它易編寫、易調試,而且靈活性強。shell 是解釋執行的腳本語言,在 shell 中可以直接調用 Linux 系統命令。

Linux詳解(十七)Linux奇妙的shell腳本

其實windows類似於shell的就是它的圖形交互界面,我們在windows系統中打開文件,刪除文件等操作,就是向windows系統發送命令。

2、Shell 的分類

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

3、查看Linux系統支持的 shell:/etc/shells

Linux詳解(十七)Linux奇妙的shell腳本

我們可以在shell解釋器中直接輸入shell名稱進行切換

從這篇文章開始,我們將進入Linux的shell腳本的學習,這對於Linux學習愛好者而言是特別重要的一節,也是特別有意思的一節,shell 腳本就像我們知道的Java,php類似的編程語言一樣,通過shell腳本,我們能完成很多有意思的應用程序。在學習中找到樂趣,這也是最重要的。

本篇文章我們先給大家介紹一下什麼是shell,以及bash的基本功能。

Linux詳解(十七)Linux奇妙的shell腳本

1、Shell 是什麼?

和大家通常說的shell是一門編程語言的說法其實是不完全正確的。

①、shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內核發送請求以便運行程序的界面系統級程序,用戶可以用 shell 來啟動、掛起、停止甚至是編寫一些程序。

比如,我們現在操作的界面就是shell,我們輸入一些命令,通過shell 去翻譯為機器語言,然後由硬件去執行這些命令。

②、shell 是一個功能很強大的編程語言,它易編寫、易調試,而且靈活性強。shell 是解釋執行的腳本語言,在 shell 中可以直接調用 Linux 系統命令。

Linux詳解(十七)Linux奇妙的shell腳本

其實windows類似於shell的就是它的圖形交互界面,我們在windows系統中打開文件,刪除文件等操作,就是向windows系統發送命令。

2、Shell 的分類

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

3、查看Linux系統支持的 shell:/etc/shells

Linux詳解(十七)Linux奇妙的shell腳本

我們可以在shell解釋器中直接輸入shell名稱進行切換

Linux詳解(十七)Linux奇妙的shell腳本

4、echo 輸出命令

這個命令如果學過Java的類似於 System.out.println(),如果學過C語言的類似於 printf(),在shell 當中語法形式如下:

echo 【選項】【輸出內容】

-e 表示支持反斜槓控制的字符轉換,也就是轉義字符。

從這篇文章開始,我們將進入Linux的shell腳本的學習,這對於Linux學習愛好者而言是特別重要的一節,也是特別有意思的一節,shell 腳本就像我們知道的Java,php類似的編程語言一樣,通過shell腳本,我們能完成很多有意思的應用程序。在學習中找到樂趣,這也是最重要的。

本篇文章我們先給大家介紹一下什麼是shell,以及bash的基本功能。

Linux詳解(十七)Linux奇妙的shell腳本

1、Shell 是什麼?

和大家通常說的shell是一門編程語言的說法其實是不完全正確的。

①、shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內核發送請求以便運行程序的界面系統級程序,用戶可以用 shell 來啟動、掛起、停止甚至是編寫一些程序。

比如,我們現在操作的界面就是shell,我們輸入一些命令,通過shell 去翻譯為機器語言,然後由硬件去執行這些命令。

②、shell 是一個功能很強大的編程語言,它易編寫、易調試,而且靈活性強。shell 是解釋執行的腳本語言,在 shell 中可以直接調用 Linux 系統命令。

Linux詳解(十七)Linux奇妙的shell腳本

其實windows類似於shell的就是它的圖形交互界面,我們在windows系統中打開文件,刪除文件等操作,就是向windows系統發送命令。

2、Shell 的分類

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

3、查看Linux系統支持的 shell:/etc/shells

Linux詳解(十七)Linux奇妙的shell腳本

我們可以在shell解釋器中直接輸入shell名稱進行切換

Linux詳解(十七)Linux奇妙的shell腳本

4、echo 輸出命令

這個命令如果學過Java的類似於 System.out.println(),如果學過C語言的類似於 printf(),在shell 當中語法形式如下:

echo 【選項】【輸出內容】

-e 表示支持反斜槓控制的字符轉換,也就是轉義字符。

Linux詳解(十七)Linux奇妙的shell腳本

範例:

從這篇文章開始,我們將進入Linux的shell腳本的學習,這對於Linux學習愛好者而言是特別重要的一節,也是特別有意思的一節,shell 腳本就像我們知道的Java,php類似的編程語言一樣,通過shell腳本,我們能完成很多有意思的應用程序。在學習中找到樂趣,這也是最重要的。

本篇文章我們先給大家介紹一下什麼是shell,以及bash的基本功能。

Linux詳解(十七)Linux奇妙的shell腳本

1、Shell 是什麼?

和大家通常說的shell是一門編程語言的說法其實是不完全正確的。

①、shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內核發送請求以便運行程序的界面系統級程序,用戶可以用 shell 來啟動、掛起、停止甚至是編寫一些程序。

比如,我們現在操作的界面就是shell,我們輸入一些命令,通過shell 去翻譯為機器語言,然後由硬件去執行這些命令。

②、shell 是一個功能很強大的編程語言,它易編寫、易調試,而且靈活性強。shell 是解釋執行的腳本語言,在 shell 中可以直接調用 Linux 系統命令。

Linux詳解(十七)Linux奇妙的shell腳本

其實windows類似於shell的就是它的圖形交互界面,我們在windows系統中打開文件,刪除文件等操作,就是向windows系統發送命令。

2、Shell 的分類

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

3、查看Linux系統支持的 shell:/etc/shells

Linux詳解(十七)Linux奇妙的shell腳本

我們可以在shell解釋器中直接輸入shell名稱進行切換

Linux詳解(十七)Linux奇妙的shell腳本

4、echo 輸出命令

這個命令如果學過Java的類似於 System.out.println(),如果學過C語言的類似於 printf(),在shell 當中語法形式如下:

echo 【選項】【輸出內容】

-e 表示支持反斜槓控制的字符轉換,也就是轉義字符。

Linux詳解(十七)Linux奇妙的shell腳本

範例:

Linux詳解(十七)Linux奇妙的shell腳本

5、腳本執行方式

首先我們編寫一個shell 腳本。通過 vi hello.sh,打開 hello.sh 文件,然後在文件中添加如下內容:

從這篇文章開始,我們將進入Linux的shell腳本的學習,這對於Linux學習愛好者而言是特別重要的一節,也是特別有意思的一節,shell 腳本就像我們知道的Java,php類似的編程語言一樣,通過shell腳本,我們能完成很多有意思的應用程序。在學習中找到樂趣,這也是最重要的。

本篇文章我們先給大家介紹一下什麼是shell,以及bash的基本功能。

Linux詳解(十七)Linux奇妙的shell腳本

1、Shell 是什麼?

和大家通常說的shell是一門編程語言的說法其實是不完全正確的。

①、shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內核發送請求以便運行程序的界面系統級程序,用戶可以用 shell 來啟動、掛起、停止甚至是編寫一些程序。

比如,我們現在操作的界面就是shell,我們輸入一些命令,通過shell 去翻譯為機器語言,然後由硬件去執行這些命令。

②、shell 是一個功能很強大的編程語言,它易編寫、易調試,而且靈活性強。shell 是解釋執行的腳本語言,在 shell 中可以直接調用 Linux 系統命令。

Linux詳解(十七)Linux奇妙的shell腳本

其實windows類似於shell的就是它的圖形交互界面,我們在windows系統中打開文件,刪除文件等操作,就是向windows系統發送命令。

2、Shell 的分類

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

3、查看Linux系統支持的 shell:/etc/shells

Linux詳解(十七)Linux奇妙的shell腳本

我們可以在shell解釋器中直接輸入shell名稱進行切換

Linux詳解(十七)Linux奇妙的shell腳本

4、echo 輸出命令

這個命令如果學過Java的類似於 System.out.println(),如果學過C語言的類似於 printf(),在shell 當中語法形式如下:

echo 【選項】【輸出內容】

-e 表示支持反斜槓控制的字符轉換,也就是轉義字符。

Linux詳解(十七)Linux奇妙的shell腳本

範例:

Linux詳解(十七)Linux奇妙的shell腳本

5、腳本執行方式

首先我們編寫一個shell 腳本。通過 vi hello.sh,打開 hello.sh 文件,然後在文件中添加如下內容:

Linux詳解(十七)Linux奇妙的shell腳本

①、我們說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 告訴系統說,就在當前目錄找。

從這篇文章開始,我們將進入Linux的shell腳本的學習,這對於Linux學習愛好者而言是特別重要的一節,也是特別有意思的一節,shell 腳本就像我們知道的Java,php類似的編程語言一樣,通過shell腳本,我們能完成很多有意思的應用程序。在學習中找到樂趣,這也是最重要的。

本篇文章我們先給大家介紹一下什麼是shell,以及bash的基本功能。

Linux詳解(十七)Linux奇妙的shell腳本

1、Shell 是什麼?

和大家通常說的shell是一門編程語言的說法其實是不完全正確的。

①、shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內核發送請求以便運行程序的界面系統級程序,用戶可以用 shell 來啟動、掛起、停止甚至是編寫一些程序。

比如,我們現在操作的界面就是shell,我們輸入一些命令,通過shell 去翻譯為機器語言,然後由硬件去執行這些命令。

②、shell 是一個功能很強大的編程語言,它易編寫、易調試,而且靈活性強。shell 是解釋執行的腳本語言,在 shell 中可以直接調用 Linux 系統命令。

Linux詳解(十七)Linux奇妙的shell腳本

其實windows類似於shell的就是它的圖形交互界面,我們在windows系統中打開文件,刪除文件等操作,就是向windows系統發送命令。

2、Shell 的分類

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

Linux詳解(十七)Linux奇妙的shell腳本

3、查看Linux系統支持的 shell:/etc/shells

Linux詳解(十七)Linux奇妙的shell腳本

我們可以在shell解釋器中直接輸入shell名稱進行切換

Linux詳解(十七)Linux奇妙的shell腳本

4、echo 輸出命令

這個命令如果學過Java的類似於 System.out.println(),如果學過C語言的類似於 printf(),在shell 當中語法形式如下:

echo 【選項】【輸出內容】

-e 表示支持反斜槓控制的字符轉換,也就是轉義字符。

Linux詳解(十七)Linux奇妙的shell腳本

範例:

Linux詳解(十七)Linux奇妙的shell腳本

5、腳本執行方式

首先我們編寫一個shell 腳本。通過 vi hello.sh,打開 hello.sh 文件,然後在文件中添加如下內容:

Linux詳解(十七)Linux奇妙的shell腳本

①、我們說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 告訴系統說,就在當前目錄找。

Linux詳解(十七)Linux奇妙的shell腳本

  ②、作為解釋器參數

也就是直接運行解釋器,其參數就是 shell 腳本的文件名,如下:

/bin/sh hello.sh或者bash hello.sh

注意:這種方式執行腳本,並不需要第一行寫上 #!/bin/bash。

相關推薦

推薦中...