Linux Bash Shell快速入門 在線教程

Linux Bash Shell快速入門 在線教程

ID:37152664

大?。?8.92 KB

頁數(shù):17頁

時間:2019-05-19

Linux Bash Shell快速入門 在線教程_第1頁
Linux Bash Shell快速入門 在線教程_第2頁
Linux Bash Shell快速入門 在線教程_第3頁
Linux Bash Shell快速入門 在線教程_第4頁
Linux Bash Shell快速入門 在線教程_第5頁
資源描述:

《Linux Bash Shell快速入門 在線教程》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、BASH的基本語法最簡單的例子——HelloWorld!關(guān)于輸入、輸出和錯誤輸出BASH中對變量的規(guī)定(與C語言的異同)BASH中的基本流程控制語法函數(shù)的使用2.1最簡單的例子——HelloWorld!幾乎所有的講解編程的書給讀者的第一個例子都是HelloWorld程序,那么我們今天也就從這個例子出發(fā),來逐步了解BASH。用vi編輯器編輯一個hello文件如下:#!/bin/bash#ThisisaverysimpleexampleechoHelloWorld這樣最簡單的一個BASH程序就編寫完了。這里有幾個問題需要說明一下:一,第一行

2、的#!是什么意思二,第一行的/bin/bash又是什么意思三,第二行是注釋嗎四,echo語句五,如何執(zhí)行該程序#!是說明hello這個文件的類型的,有點(diǎn)類似于Windows系統(tǒng)下用不同文件后綴來表示不同文件類型的意思(但不相同)。Linux系統(tǒng)根據(jù)"#!"及該字串后面的信息確定該文件的類型,關(guān)于這一問題同學(xué)們回去以后可以通過"manmagic"命令及/usr/share/magic文件來了解這方面的更多內(nèi)容。在BASH中第一行的"#!"及后面的"/bin/bash"就表明該文件是一個BASH程序,需要由/bin目錄下的bash程序來解釋

3、執(zhí)行。BASH這個程序一般是存放在/bin目錄下,如果你的Linux系統(tǒng)比較特別,bash也有可能被存放在/sbin、/usr/local/bin、/usr/bin、/usr/sbin或/usr/local/sbin這樣的目錄下;如果還找不到,你可以用"locatebash""find/-namebash2>/dev/null"或"whereisbash"這三個命令找出bash所在的位置;如果仍然找不到,那你可能需要自己動手安裝一個BASH軟件包了。第二行的"#Thisisa..."就是BASH程序的注釋,在BASH程序中從“#”號(注

4、意:后面緊接著是“!”號的除外)開始到行尾的多有部分均被看作是程序的注釋。的三行的echo語句的功能是把echo后面的字符串輸出到標(biāo)準(zhǔn)輸出中去。由于echo后跟的是"HelloWorld"這個字符串,因此"HelloWorld"這個字串就被顯示在控制臺終端的屏幕上了。需要注意的是BASH中的絕大多數(shù)語句結(jié)尾處都沒有分號。如何執(zhí)行該程序呢?有兩種方法:一種是顯式制定BASH去執(zhí)行:$bashhello或$shhello(這里sh是指向bash的一個鏈接,“l(fā)rwxrwxrwx1rootroot4Aug2005:41/bin/sh->bas

5、h”)或者可以先將hello文件改為可以執(zhí)行的文件,然后直接運(yùn)行它,此時由于hello文件第一行的"#!/bin/bash"的作用,系統(tǒng)會自動用/bin/bash程序去解釋執(zhí)行hello文件的:$chmodu+xhello$./hello此處沒有直接“$hello”是因?yàn)楫?dāng)前目錄不是當(dāng)前用戶可執(zhí)行文件的默認(rèn)目錄,而將當(dāng)前目錄“.”設(shè)為默認(rèn)目錄是一個不安全的設(shè)置。需要注意的是,BASH程序被執(zhí)行后,實(shí)際上Linux系統(tǒng)是另外開設(shè)了一個進(jìn)程來運(yùn)行的。2.2關(guān)于輸入、輸出和錯誤輸出在字符終端環(huán)境中,標(biāo)準(zhǔn)輸入/標(biāo)準(zhǔn)輸出的概念很好理解。輸入即指對

6、一個應(yīng)用程序或命令的輸入,無論是從鍵盤輸入還是從別的文件輸入;輸出即指應(yīng)用程序或命令產(chǎn)生的一些信息;與Windows系統(tǒng)下不同的是,Linux系統(tǒng)下還有一個標(biāo)準(zhǔn)錯誤輸出的概念,這個概念主要是為程序調(diào)試和系統(tǒng)維護(hù)目的而設(shè)置的,錯誤輸出于標(biāo)準(zhǔn)輸出分開可以讓一些高級的錯誤信息不干擾正常的輸出信息,從而方便一般用戶的使用。在Linux系統(tǒng)中:標(biāo)準(zhǔn)輸入(stdin)默認(rèn)為鍵盤輸入;標(biāo)準(zhǔn)輸出(stdout)默認(rèn)為屏幕輸出;標(biāo)準(zhǔn)錯誤輸出(stderr)默認(rèn)也是輸出到屏幕(上面的std表示standard)。在BASH中使用這些概念時一般將標(biāo)準(zhǔn)輸出表示

7、為1,將標(biāo)準(zhǔn)錯誤輸出表示為2。下面我們舉例來說明如何使用他們,特別是標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤輸出。輸入、輸出及標(biāo)準(zhǔn)錯誤輸出主要用于I/O的重定向,就是說需要改變他們的默認(rèn)設(shè)置。先看這個例子:$ls>ls_result$ls-l>>ls_result上面這兩個命令分別將ls命令的結(jié)果輸出重定向到ls_result文件中和追加到ls_result文件中,而不是輸出到屏幕上。">"就是輸出(標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤輸出)重定向的代表符號,連續(xù)兩個">"符號,即">>"則表示不清除原來的而追加輸出。下面再來看一個稍微復(fù)雜的例子:$find/home-nam

8、elost*2>err_result這個命令在">"符號之前多了一個"2","2>"表示將標(biāo)準(zhǔn)錯誤輸出重定向。由于/home目錄下有些目錄由于權(quán)限限制不能訪問,因此會產(chǎn)生一些標(biāo)準(zhǔn)錯誤輸出被存放在err_re

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

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

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