华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓課程 | 模擬考場 | 考試論壇  
  當前位置:Linux認證 > 綜合輔導 > 文章內(nèi)容
  

Linux教程簡介(39)

 [ 2017年2月2日 ] 【

Shell 教程

Shell 是一個用C語言編寫的程序,它是用戶使用Linux的橋梁。Shell既是一種命令語言,又是一種程序設計語言。

Shell 是指一種應用程序,這個應用程序提供了一個界面,用戶通過這個界面訪問操作系統(tǒng)內(nèi)核的服務。

Ken Thompson的sh是第一種Unix Shell,Windows Explorer是一個典型的圖形界面Shell。

Shell 在線工具


Shell 腳本

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

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

由于習慣的原因,簡潔起見,本文出現(xiàn)的"shell編程"都是指shell腳本編程,不是指開發(fā)shell自身。


Shell 環(huán)境

Shell 編程跟java、php編程一樣,只要有一個能編寫代碼的文本編輯器和一個能解釋執(zhí)行的腳本解釋器就可以了。

Linux的Shell種類眾多,常見的有:

  • Bourne Shell(/usr/bin/sh或/bin/sh)
  • Bourne Again Shell(/bin/bash)
  • C Shell(/usr/bin/csh)
  • K Shell(/usr/bin/ksh)
  • Shell for Root(/sbin/sh)
  • ……

本教程關注的是 Bash,也就是 Bourne Again Shell,由于易用和免費,Bash在日常工作中被廣泛使用。同時,Bash也是大多數(shù)Linux系統(tǒng)默認的Shell。

在一般情況下,人們并不區(qū)分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh,它同樣也可以改為#!/bin/bash。

#!告訴系統(tǒng)其后路徑所指定的程序即是解釋此腳本文件的Shell程序。


第一個shell腳本

打開文本編輯器(可以使用vi/vim命令來創(chuàng)建文件),新建一個文件test.sh,擴展名為sh(sh代表shell),擴展名并不影響腳本執(zhí)行,見名知意就好,如果你用php寫shell 腳本,擴展名就用php好了。

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

實例

#!/bin/bash
echo "Hello World !"


運行實例 »

"#!" 是一個約定的標記,它告訴系統(tǒng)這個腳本需要什么解釋器來執(zhí)行,即使用哪一種Shell。

echo命令用于向窗口輸出文本。

運行Shell腳本有兩種方法:

1、作為可執(zhí)行程序

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

chmod +x ./test.sh  #使腳本具有執(zhí)行權限
./test.sh  #執(zhí)行腳本

注意,一定要寫成./test.sh,而不是test.sh,運行其它二進制的程序也一樣,直接寫test.sh,linux系統(tǒng)會去PATH里尋找有沒有叫test.sh的,而只有/bin, /sbin, /usr/bin,/usr/sbin等在PATH里,你的當前目錄通常不在PATH里,所以寫成test.sh是會找不到命令的,要用./test.sh告訴系統(tǒng)說,就在當前目錄找。

2、作為解釋器參數(shù)

這種運行方式是,直接運行解釋器,其參數(shù)就是shell腳本的文件名,如:

/bin/sh test.sh
/bin/php test.php

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

本文糾錯】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關于本站  網(wǎng)站聲明  廣告服務  聯(lián)系方式  站內(nèi)導航  考試論壇
Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved
图木舒克市| 阜宁县| 芒康县| 新安县| 郧西县| 嘉禾县| 新余市| 中方县| 永泰县| 富川| 浦城县| 乐亭县| 民丰县| 金山区| 武鸣县| 内丘县| 漳浦县| 安宁市| 盐源县| 游戏| 霍林郭勒市| 姚安县| 清徐县| 农安县| 五河县| 枣阳市| 南康市| 龙岩市| 抚顺县| 建德市| 墨江| 贺州市| 太谷县| 永靖县| 永嘉县| 乡城县| 金溪县| 漾濞| 东乌| 大宁县| 逊克县|