天天看點

Shell腳本了解

版權聲明:本文為部落客原創文章,轉載注明出處http://blog.csdn.net/u013142781

shell 是一個用c語言編寫的程式,它是使用者使用linux的橋梁。shell既是一種指令語言,又是一種程式設計語言。 

shell 是指一種應用程式,這個應用程式提供了一個界面,使用者通過這個界面通路作業系統核心的服務。 

ken thompson的sh是第一種unix shell,windows explorer是一個典型的圖形界面shell。

shell 腳本(shell script),是一種為shell編寫的腳本程式。 

業界所說的shell通常都是指shell腳本,但讀者朋友要知道,shell和shell script是兩個不同的概念。 

由于習慣的原因,簡潔起見,本文出現的”shell程式設計”都是指shell腳本程式設計,不是指開發shell自身。

linux的shell種類衆多,常見的有:

本教程關注的是 bash,也就是 bourne again shell,由于易用和免費,bash在日常工作中被廣泛使用。同時,bash也是大多數linux系統預設的shell。 

在一般情況下,人們并不區分 bourne shell 和 bourne again shell,是以,像 #!/bin/sh,它同樣也可以改為#!/bin/bash。

打開文本編輯器(可以使用vi/vim指令來建立檔案),建立一個檔案test.sh,擴充名為sh(sh代表shell),擴充名并不影響腳本執行,見名知意就好,如果你用php寫shell 腳本,擴充名就用php好了。 

輸入一些代碼,第一行一般是這樣:

“#!” 是一個約定的标記,它告訴系統這個腳本需要什麼解釋器來執行,即使用哪一種shell。 

echo指令用于向視窗輸出文本。

運作shell腳本有兩種方法:

1、作為可執行程式 

将上面的代碼儲存為test.sh,并cd到相應目錄:

注意,一定要寫成./test.sh,而不是test.sh,運作其它二進制的程式也一樣,直接寫test.sh,linux系統會去path裡尋找有沒有叫test.sh的,而隻有/bin, /sbin, /usr/bin,/usr/sbin等在path裡,你的目前目錄通常不在path裡,是以寫成test.sh是會找不到指令的,要用./test.sh告訴系統說,就在目前目錄找。

2、作為解釋器參數 

這種運作方式是,直接運作解釋器,其參數就是shell腳本的檔案名,如:

這種方式運作的腳本,不需要在第一行指定解釋器資訊,寫了也沒用。

還有關于更多shell腳本學習内容:

裡面還有個shell 線上工具,可以實際操作嘗試哦