unixshell程序編寫的方法詳解

unixshell程序編寫的方法詳解

ID:23658504

大?。?9.49 KB

頁數(shù):8頁

時間:2018-11-09

unixshell程序編寫的方法詳解_第1頁
unixshell程序編寫的方法詳解_第2頁
unixshell程序編寫的方法詳解_第3頁
unixshell程序編寫的方法詳解_第4頁
unixshell程序編寫的方法詳解_第5頁
資源描述:

《unixshell程序編寫的方法詳解》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。

1、UnixShell程序編寫的方法詳解Shell是什么??任何發(fā)明都具有供用戶使用的界面。UNIX供用戶使用的界面就是Shell(DOS的command熟悉吧,但UNIX的要強大的多)。?Shell為用戶提供了輸入命令和參數(shù)并可得到命令執(zhí)行結果的環(huán)境。?為了不同的需要,UNIX提供了不同的Shell?,F(xiàn)在的UNIX大部分都支持BourneShell,以下教程就以BourneShell(Bsh)為例,一步步的領略UNIXShell的強大功能,占先其強大魅力,達到更方便靈活的管理、應用UNIX的目的。?1.UNIX內(nèi)核和Shell的交互方法?啟動UNIX時,程序UN

2、IX(內(nèi)核)將被調(diào)入計算機內(nèi)存,并一直保留在內(nèi)存中直到機器關閉。在引導過程中,程序init將進入后臺運行一直到機器關閉。該程序查詢文件/etc/inittab,該文件列出了連接終端的各個端口及其特征。當發(fā)現(xiàn)一個活動的終端時,init程序調(diào)用getty程序在終端上顯示login等登陸信息。(username和passwd),在輸入密碼后,getty調(diào)用login進程,該進程根據(jù)文件/etc/passwd的內(nèi)容來驗證用戶的身份。若用戶通過身份驗證,login進程把用戶的home目錄設置成當前目錄并把控制交給一系列setup程序。setup程序可以是指定的應用程序,

3、通常setup程序為一個Shell程序,如:/bin/sh即BourneShell(command出來了,呵呵)。??得到控制后,Shell程序讀取并執(zhí)行文件/etc/.profile以及.profile。這兩個文件分別建立了系統(tǒng)范圍內(nèi)的和該用戶自己的工作環(huán)境。最后Shell顯示命令提示符,如$。(這是以bsh為例,若是csh,為.cshrc,ksh為.kshrc,bash為.bashrc等等)注不妨把/etc/.profile和.profile看成DOS的autoexec.bat或config.sys文件)?當shell退出時,內(nèi)核把控制交給init程序,該

4、程序重新啟動自動登陸過程。有兩種方法使shell退出,一是用戶執(zhí)行exit命令,二是內(nèi)核(例如root用kill命令)發(fā)出一個kill命令結束shell進程。shell退出后,內(nèi)核回收用戶及程序使用的資源。?用戶登陸后,用戶命令同計算機交互的關系為:命令進程--->Shell程序--->UNIX內(nèi)核--->計算機硬件。當用戶輸入一個命令,如$ls,Shell將定位其可執(zhí)行文件/bin/ls并把其傳遞給內(nèi)核執(zhí)行。內(nèi)核產(chǎn)生一個新的子進程調(diào)用并執(zhí)行/bin/ls。當程序執(zhí)行完畢后,內(nèi)核取消該子進程并把控制交給其父進程,即Shell程序。例如執(zhí)行:$ps?該命令將會列

5、出用戶正在執(zhí)行的進程,即Shell程序(下來詳細說說,別急現(xiàn)在)和ps程序。若執(zhí)行:$sleep10&$ps其中第一條命令將產(chǎn)生一個在后臺執(zhí)行的sleep子進程。ps命令執(zhí)行時會顯示出該子進程。?每當用戶執(zhí)行一條命令時,就會產(chǎn)生一個子進程。該子進程的執(zhí)行與其父進程或Shell完全無關,這樣可以使Shell去做其他工作。(Shell只是把用戶的意圖告訴內(nèi)核,然后該干嘛干嘛)現(xiàn)在windows有個計劃任務(在固定的時間,日期自動執(zhí)行某任務),其實UNIX很早就有這個功能了,也就是所謂的Shell的自動執(zhí)行。一些UNIX資源,如cron可以自動執(zhí)行Shell程序而無

6、需用戶的參與,(這個功能好象在/var/spool/crotab目錄里)。?Crontab程序?qū)τ谙到y(tǒng)管理員來說是非常有用的。Cron服務用于計劃程序在特定時間(月、日、周、時、分)運行。我們以root的crontab為例。根用戶的crontab文件放在/var/spool/crontab/root中,其格式如下:?  (1) (2) (3) (4) (5) (6)  0  0  *  *  3  /usr/bin/updatedb      1.分鐘(0-60)      2.小時(0-23)      3.日(1-31)      4.月(1-12)   

7、   5.星期(1-7)      6.所要運行的程序2.Shell的功能和特點  1>命令行解釋  2>使用保留字  3>使用Shell元字符(通配符)  4>可處理程序命令  5>使用輸入輸出重定向和管道  6>維護一些變量  7>運行環(huán)境控制  8>支持Shell編程?對于"命令行解釋"就不多說了,就是在shell提示符(例如:"$","%","#"等)后輸入一行unix命令,Shell將接收用戶的輸入。?"使用保留字":Shell有一些具有特殊意義的字,例如在Shell腳本中,do,done,for等字用來控制循環(huán)操作,if,then等控制條件操作。保

8、留字隨Shell環(huán)境的不同而不同。?"

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

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

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