linux Shell編程入門

linux Shell編程入門

ID:47037170

大?。?2.50 KB

頁數:13頁

時間:2019-07-04

linux Shell編程入門_第1頁
linux Shell編程入門_第2頁
linux Shell編程入門_第3頁
linux Shell編程入門_第4頁
linux Shell編程入門_第5頁
資源描述:

《linux Shell編程入門》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、linuxShell編程入門下面,讓我們一起來看看shell是如何工作的:建立一個腳本Linux中有好多中不同的shell,但是通常我們使用bash(bourneagainshell)進行shell編程,因為bash是免費的并且很容易使用。所以在本文中筆者所提供的腳本都是使用bash(但是在大多數情況下,這些腳本同樣可以在bash的大姐,bourneshell中運行)。如同其他語言一樣,通過我們使用任意一種文字編輯器,比如nedit、kedit、emacs、vi等來編寫我們的shell程序。程序必須以下面的行開始(必

2、須方在文件的第一行):#!/bin/sh符號#!用來告訴系統它后面的參數是用來執(zhí)行該文件的程序。在這個例子中我們使用/bin/sh來執(zhí)行程序。當編輯好腳本時,如果要執(zhí)行該腳本,還必須使其可執(zhí)行。要使腳本可執(zhí)行:chmod+xfilename然后,您可以通過輸入:./filename來執(zhí)行您的腳本。linuxshell編程(續(xù)1)2007年05月21日星期一21:00注釋在進行shell編程時,以#開頭的句子表示注釋,直到這一行的結束。我們真誠地建議您在程序中使用注釋。如果您使用了注釋,那么即使相當長的時間內沒有使用該

3、腳本,您也能在很短的時間內明白該腳本的作用及工作原理。變量在其他編程語言中您必須使用變量。在shell編程中,所有的變量都由字符串組成,并且您不需要對變量進行聲明。要賦值給一個變量,您可以這樣寫:變量名=值取出變量值可以加一個美元符號($)在變量前面:#!/bin/sh#對變量賦值:a="helloworld"#現在打印變量a的內容:echo"Ais:"echo$a在您的編輯器中輸入以上內容,然后將其保存為一個文件first。之后執(zhí)行chmod+xfirst。使其可執(zhí)行,最后輸入./first執(zhí)行該腳本。這個腳本將會

4、輸出:Ais:  helloworld有時候變量名很容易與其他文字混淆,比如:num=2  echo"thisisthe$numnd"這并不會打印出"thisisthe2nd",而僅僅打印"thisisthe",因為shell會去搜索變量numnd的值,但是這個變量時沒有值的。可以使用花括號來告訴shell我們要打印的是num變量:num=2  echo"thisisthe${num}nd"這將打?。簍hisisthe2nd有許多變量是系統自動設定的,這將在后面使用這些變量時進行討論。如果您需要處理數學表達式,那么您

5、需要使用諸如expr等程序(見下面)。除了一般的僅在程序內有效的shell變量以外,還有環(huán)境變量。由export關鍵字處理過的變量叫做環(huán)境變量。我們不對環(huán)境變量進行討論,因為通常情況下僅僅在登錄腳本中使用環(huán)境變量。Shell命令和流程控制在shell腳本中可以使用三類命令:1)Unix命令:雖然在shell腳本中可以使用任意的unix命令,但是還是由一些相對更常用的命令。這些命令通常是用來進行文件和文字操作的。常用命令語法及功能:echo"sometext":將文字內容打印在屏幕上。ls:文件列表。wc–lfilew

6、c-wfilewc-cfile:計算文件行數計算文件中的單詞數計算文件中的字符數。cpsourcefiledestfile:文件拷貝。mvoldnamenewname:重命名文件或移動文件。rmfile:刪除文件。grep'pattern'file:在文件內搜索字符串比如:grep'searchstring'file.txtcut-bcolnumfile:指定欲顯示的文件內容范圍,并將它們輸出到標準輸出設備比如:輸出每行第5個到第9個字符cut–b5-9file.txt千萬不要和cat命令混淆,這是兩個完全不同的命令

7、。catfile.txt:輸出文件內容到標準輸出設備(屏幕)上。filesomefile:得到文件類型。readvar:提示用戶輸入,并將輸入賦值給變量。sortfile.txt:對file.txt文件中的行進行排序。uniq:刪除文本文件中出現的行列比如:sortfile.txt

8、uniq。expr:進行數學運算Example:add2and3expr2"+"3。find:搜索文件比如:根據文件名搜索find.-namefilename-print。tee:將數據輸出到標準輸出設備(屏幕)和文件比如:somecom

9、mand

10、teeoutfile。basenamefile:返回不包含路徑的文件名比如:basename/bin/tux將返回tux。dirnamefile:返回文件所在路徑比如:dirname/bin/tux將返回/bin。headfile:打印文本文件開頭幾行。tailfile:打印文本文件末尾幾行。sed:Sed是一個基本的查找替換程序???/p>

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯系客服處理。