Shell 是壹個用 C 語言編寫的程序,它是用戶使用 Linux 的橋梁。Shell 既是壹種命令語言,又是壹種程序設計語言。
Shell 是指壹種應用程序,這個應用程序提供了壹個界面,用戶通過這個界面訪問操作系統內核的服務。
Ken Thompson 的 sh 是第壹種 Unix Shell,Windows Explorer 是壹個典型的圖形界面 Shell。
Shell 在線工具
Shell 腳本(shell script),是壹種為 shell 編寫的腳本程序。
業界所說的 shell 通常都是指 shell 腳本,但讀者朋友要知道,shell 和 shell script 是兩個不同的概念。
由於習慣的原因,簡潔起見,本文出現的 "shell編程" 都是指 shell 腳本編程,不是指開發 shell 自身。
Shell 編程跟 JavaScript、php 編程壹樣,只要有壹個能編寫代碼的文本編輯器和壹個能解釋執行的腳本解釋器就可以了。
Linux 的 Shell 種類眾多,常見的有:
在壹般情況下,人們並不區分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh ,它同樣也可以改為 #!/bin/bash 。
#! 告訴系統其後路徑所指定的程序即是解釋此腳本文件的 Shell 程序。
打開文本編輯器(可以使用 vi/vim 命令來創建文件),新建壹個文件 test.sh,擴展名為 sh(sh代表shell),擴展名並不影響腳本執行,見名知意就好,如果妳用 php 寫 shell 腳本,擴展名就用 php 好了。
輸入壹些代碼,第壹行壹般是這樣:
#!/bin/bash
echo "Hello World !"
運行實例 ?
#! 是壹個約定的標記,它告訴系統這個腳本需要什麽解釋器來執行,即使用哪壹種 Shell。
echo 命令用於向窗口輸出文本。
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 腳本的文件名,如:
這種方式運行的腳本,不需要在第壹行指定解釋器信息,寫了也沒用。