Unix Shell 編程簡(jiǎn)介

Unix Shell 編程簡(jiǎn)介

ID:40570971

大小:140.50 KB

頁(yè)數(shù):21頁(yè)

時(shí)間:2019-08-04

Unix Shell 編程簡(jiǎn)介_(kāi)第1頁(yè)
Unix Shell 編程簡(jiǎn)介_(kāi)第2頁(yè)
Unix Shell 編程簡(jiǎn)介_(kāi)第3頁(yè)
Unix Shell 編程簡(jiǎn)介_(kāi)第4頁(yè)
Unix Shell 編程簡(jiǎn)介_(kāi)第5頁(yè)
資源描述:

《Unix Shell 編程簡(jiǎn)介》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、UnixShell編程簡(jiǎn)介第一節(jié)簡(jiǎn)介1.1什么是SHELLSHELL常被看作UNIX系統(tǒng)的命令解釋器,對(duì)于熟悉Windows用戶(hù),UNIXSHELL類(lèi)似于DOSShell,COMMAND.COM.UnixShell不僅僅是一個(gè)命令解釋器,還是一個(gè)強(qiáng)大的編程語(yǔ)言,有著完整的條件語(yǔ)句循環(huán)和函數(shù).1.2SHELL的類(lèi)型在UNIX中主要有兩種主要類(lèi)型的SHELL:*BourneShell(包括sh、ksh、bash)*CShell(包括csh和tcsh)Bourne類(lèi)型的Shell的,缺省的提示符是$,如果是C類(lèi)型的SHELL,缺省的提示

2、符是%.不同類(lèi)型的BourneShell如下:*BourneShell(sh)*KornShell(ksh)*BourneAgainShell(bash)*POSLXShell不同類(lèi)型的CShell如下:*CShell(csh)*TENEX/TOPSCShell(tcsh)1.2.1BourneShell70年代中期由StephenR.Bourne在AT&T貝爾實(shí)驗(yàn)室編寫(xiě)使用.BourneShell在多數(shù)UNIX版本中通常被安裝在/bin/sh下.三個(gè)主要缺點(diǎn)1、沒(méi)有文件名完整功能2、沒(méi)有命令歷史或命令編輯3、很難執(zhí)行多個(gè)后臺(tái)進(jìn)程或

3、任務(wù)1.2.2CShellCShell在80年代由BillToy在加州大學(xué)伯克利分校開(kāi)發(fā).CShell在多數(shù)UNIX版本中通常被安裝在/bin/csh下.缺點(diǎn):輸入輸出控制比較弱缺少函數(shù)語(yǔ)法不清晰,比較混亂優(yōu)點(diǎn)命令歷史(CommandHistory).用戶(hù)可以重復(fù)執(zhí)行以前執(zhí)行過(guò)的命令,在重新執(zhí)行前還可以編輯命令.別名(alias)可以為一條命令創(chuàng)建一個(gè)短的別名.文件名完整(fileNameCompletion)只輸入文件的幾個(gè)字符讓CShell自動(dòng)完整文件名.任務(wù)控制(JobControls),可以用job命令執(zhí)行多個(gè)進(jìn)程并控制.1

4、.2.3TENEX/TOPSCShell(tcsh)是CShell的一個(gè)新版本,可以用向上向下的方向鍵瀏覽歷史命令,用左右方向鍵來(lái)編輯命令.1.2.4KornShell(ksh)Ksh與sh完全兼容,增加一些額外特征命令歷史和歷史替換命令別名和函數(shù)文件名完整數(shù)組變量?jī)?nèi)置整數(shù)運(yùn)算1.2.5BourneAgainShell(bash)BourneAgainShell(bash)是作為GUN的一部分開(kāi)發(fā)的,也已經(jīng)在linux這樣的系統(tǒng)中取代了sh,包含了CShellKornShell特征,保留了與sh語(yǔ)法兼容,幾乎可以運(yùn)行所有的Bourn

5、eShell腳本.注:以下解釋如果沒(méi)有特別指出,都是基于BourneShell腳本一個(gè)簡(jiǎn)單的shellScrip文件1#!/bin/sh2echo“pleaseinputthenumberofloop:”3readnum4while[$num–lt10]5do6echo$num7num=`echo:$num_1”

6、bc`8done解釋#!/bin/sh1.如果Script的第一個(gè)非空白字符不是"#",則它會(huì)使用BourneShell。2.如果Script的第一個(gè)非空白字符是"#"時(shí),但不以"#!"開(kāi)頭時(shí),則它會(huì)使用CShell。3.

7、如果Script以"#!"開(kāi)頭,則"#!"後面所寫(xiě)的就是所使用的Shell,而且要將整個(gè)路徑名稱(chēng)指出來(lái)。建議使用第三種方式指定Shell,以確保所執(zhí)行的就是所要的。BourneShell的路徑名稱(chēng)為/bin/sh,而CShell則為/bin/csh。#!/bin/sh必須位于腳本的第一行。以使用shell來(lái)運(yùn)行腳本,如果在其他行中出現(xiàn),所以shell都會(huì)把當(dāng)作注釋而忽略掉,在shell腳本中,注釋以#開(kāi)頭,在#到行尾的所有的都被認(rèn)為是注釋。例如1.使用BourneShellscript文件開(kāi)頭為echoenterfilenameor

8、#!/bin/sh2.使用CShellscript文件開(kāi)頭為#CShellScriptor#!/bin/csh3使用perlscript文件開(kāi)頭為#!/usr/bin/perl除了在Script內(nèi)指定所使用的Shell外,你也可以在命令列中強(qiáng)制指定。比如你要用CShell執(zhí)行某個(gè)Script,你可以下這個(gè)命令:cshfilename此時(shí)的Script的存取權(quán)就不一定要為可執(zhí)行檔,其內(nèi)部所指定的Shell也會(huì)無(wú)效readnumnum變量,后面有關(guān)于變量的解釋while[$num–lt10]doecho$numnum=`echo:$nu

9、m_1”

10、bc`done循環(huán)語(yǔ)句。后面有關(guān)的解釋Script是以行為單位,我們所寫(xiě)的Script會(huì)被分解成一行一行來(lái)執(zhí)行。而每一行可以是命令、注解、或是流程控制指令等。如果某一行尚未完成,可以在行末加上"",這個(gè)時(shí)候下一行的內(nèi)容就會(huì)

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

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

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