版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一個(gè)。為什么編Linuxsell靈活的工具。使用下面,一起來看看是如何工作的Linux 中有好多中不同的,但是通使用bash (bourne again )編程,因?yàn)?bash 一個(gè)。為什么編Linuxsell靈活的工具。使用下面,一起來看看是如何工作的Linux 中有好多中不同的,但是通使用bash (bourne again )編程,因?yàn)?bash 是免費(fèi)的并且很容易使用。所以在本文中筆者所提都是使用bash(同樣可以在 bash s使用任意一種文字編輯器,比如nedit、kedit、 等來編的程序用/bin/sh 來執(zhí)行程序。使od+x./filename。地在其他編程語言中您必須使用變
2、量。在 編程中,所有的變量都由字符串組成,o# 現(xiàn)在打印變量aecho $a在您的編輯器中輸入以上內(nèi)容,然后將其保存為一個(gè)文件。之后執(zhí)行。Aoo# 現(xiàn)在打印變量aecho $a在您的編輯器中輸入以上內(nèi)容,然后將其保存為一個(gè)文件。之后執(zhí)行。Aoechothisisthe這并不會(huì)打印出thisisthe2nd,而僅僅打印thisisthe,因?yàn)閟索變量numnd 的值,但是這個(gè)變量時(shí)沒有值的。可以使用花括號(hào)來告訴s打印的是 num 變量:echothisisthethisisthe要。如果您需要處理數(shù)學(xué)表達(dá)式,那么您需要使用諸如expr等程序(見下面 S命令和流中可以使用三類命令:1)Unix 命
3、令echosometext: ls: wclfilewcwfilewccfile: cpsourcefiledestfile: mvoldnamenewnamermechosometext: ls: wclfilewcwfilewccfile: cpsourcefiledestfile: mvoldnamenewnamermfile: greppatternfile: 在文件內(nèi)搜索字符串比如:grepsearchstringcutbcolnumfile: 比如:輸出每行第 5 個(gè)到第 9 個(gè)字cut -b5-9 file.txt 千萬不cat 命,令catfile.txt: 輸出文件內(nèi)容到標(biāo)準(zhǔn)
4、輸出設(shè)備(屏幕)filesomefile: readvarsortfile.txt: 對(duì)file.txtuniq: sortfile.txt|expr: 進(jìn)行算le:add2and3expr2+find: 搜索文件比如:根據(jù)文件名搜索findnamefilenametee: 將數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出設(shè)備(屏幕) | basename file: 返回不包含路徑的文件名比如:basename ux 將返dirnamefile: 返回文件所在路徑比如:dirnameuxheadfile: tailfile : sedSed是一個(gè)基本的查找替換程序??梢詮臉?biāo)準(zhǔn)輸入(比如命令管道)本,并將結(jié)果輸出到標(biāo)準(zhǔn)輸
5、出(屏幕。該命令采用正則表達(dá)式(見參考)不要和 。比如:將 linuxfocus 替換為 LinuxFocus text.file|seds/linuxfocus/LinuxFocus/awk: awk -F指定其他分割符。catsedSed是一個(gè)基本的查找替換程序??梢詮臉?biāo)準(zhǔn)輸入(比如命令管道)本,并將結(jié)果輸出到標(biāo)準(zhǔn)輸出(屏幕。該命令采用正則表達(dá)式(見參考)不要和 。比如:將 linuxfocus 替換為 LinuxFocus text.file|seds/linuxfocus/LinuxFocus/awk: awk -F指定其他分割符。catfile.txt|awkF$1$3AdamBor
6、, 2) 概念: 管道, (|) grepofile.txt|wc-在中搜索包含有o”的行并計(jì)算其行數(shù)。在這里grep命令的輸出作為wc find.-mtime-1-typef-:# Theticksarebackticks()notnormal quotes(): tar-zcvflastmod.tar.gzfind.-mtime-1-typef-pr3) if 表達(dá)式 如果條件為真則執(zhí)行then;通常用來表示條件測(cè)試。注意這里的空格很重要。要確保方括號(hào)的空格。 -f somefile :判斷是否是一個(gè)文件xbin/ls:判斷/bin/lsn$var :判斷$var$a$b :判斷$a和$b
7、執(zhí)行mantestif $S:=/bin/bash;echoyourlogins echo通常用來表示條件測(cè)試。注意這里的空格很重要。要確保方括號(hào)的空格。 -f somefile :判斷是否是一個(gè)文件xbin/ls:判斷/bin/lsn$var :判斷$var$a$b :判斷$a和$b執(zhí)行mantestif $S:=/bin/bash;echoyourlogins echoyourloginisthebash(bourneagainisnotbashbut變量包含了的名稱和/bin/bash 進(jìn)行了比較熟悉C-f/etc/shadow&echoThiscomputer uses這里 & 就是一
8、個(gè)快捷操作符,如果左邊的表達(dá)式為真則執(zhí)行右邊的語句。您也computerusesshadosswors”。同樣或操作(|)在 -r $ echo$folderechoCannotread folder;exit1;foldergrepFrom 該須也可以用 if 表達(dá)式作任何事情,但是使用與或操作符 case.)dosomethinghere; .)dosomethinghere; filelf.gz:gzipcompresseddata,deflated,originalfilename, last modified: Mon Aug 27 23:09:18 2001, os: Unix z
9、ip類型的壓縮文件: ftype=file $1 case $ftype in $1Ziparchive*)unzip$1$1:gzipcompressed*) gunzip $1 ;$1:bzip2compressed*) bunzip2 $1 ;bzip2,和*)errorFile$1cannotbe pressedwithsmartzip$1 selectbash的擴(kuò)展應(yīng)用,尤其擅長于交互式使用。用戶可以從一selectvarin.;do .now $varcanbeused echoWhatisyourfavouriteselectvarinLinuxGnuHurdFreeBSDOth
10、er;do echoYouhaveselectedWhatisyourfavouriteGnuFree#? 1Youhaveselected您也可s whiledo中使用如下#? 1Youhaveselected您也可s whiledo中使用如下的loop 表達(dá)式while-loop將運(yùn)行直到表達(dá)式測(cè)試為真。willrunwhilethettestfor istrue. 關(guān)鍵字break 用來跳出循環(huán)。而關(guān)鍵字”continue”) forvar;在下面的例子中,將分別打印ABCforvarinABC;do echovar is下面是一個(gè)更為有用showrpm,其功能是打印一些RPM包的統(tǒng)計(jì)信
11、息#listacontentsummaryofanumberofRPMpackages # USAGE: showrpm rpmfile1 rpmfile2 .#forrpmpackagein$*;if-r$rpmpackageecho=$rpmpackage= rpm -qi -p $rpmpackageechoERROR:cannotreadfile行showrpmopenssh.rpmw3m.rpm$* 包含了 3 個(gè)字符串,即openssh.rpm,w3m.rpmand把通配符(比如*).jpg 和tux.jpg這將打印出(單引號(hào)和雙引號(hào)) echo *.jpg這將打印*.jpg ec
12、ho $Secho把通配符(比如*).jpg 和tux.jpg這將打印出(單引號(hào)和雙引號(hào)) echo *.jpg這將打印*.jpg echo $Sechoecho*.jpg echo$Ss 以 開頭,后面接上一個(gè)字符串,這個(gè)字符串還必須出現(xiàn)在 s 使用#wehaven3arguments.thehelpif$#-lt3;then cat shiftby-)shift;break;#endof-*)echoerror:nosuchoption$1.-hforhelp;exitechoopt_fis$opt_f echoopt_l isechoargisecho2nd argiscmdparser
13、-o-f-somefile1opt_fisopt_l oargis-somefile1 2nd arg is somefile2來(famework.sh,來(famework.sh,cpframework.sh時(shí)讓(#vim:setsw=4ts=4et: catb2h-convertbinarytoUSAGE:b2h-hOPTIONS:-hhelpLE:b2hexit#anerrorandecho$1 exit 1#returnthelastcharacter#returnthelastcharacterofastringin$rval if -z $1 ; then#wcputssomes
14、pacebehindtheoutputthisiswhyweneedsed: numofchar=echo -n $1 | wc -c | sed s/ /g # now cutoutthelastrval=echo-n$1|cut-b#removethelastcharacterinstringandreturnitin$rval if -z $1 ; then#wcputssomespacebehindtheoutputthisiswhyweneedsed: numofchar=echo -n $1 | wc -c | sed s/ /g if$numofchar=1;then # onl
15、y one char in string numofcharminus1=expr$numofchar-1 # now cut all but the last char:rval=echo-n$1|cut-b0-while-n$1;do case $1 in-h)help;shift1;#functionhelpis-)shift;break;# endof-*)errorerror:nosuchoption$1.-hfor#Themain#oneargmustbegiven: -z $1 & help while-n$binnum;do lastchar $binnumif$rval= 1
16、; sum=expr$weight+#removethelast chop $binnum ition#oneargmustbegiven: -z $1 & help while-n$binnum;do lastchar $binnumif$rval= 1; sum=expr$weight+#removethelast chop $binnum itioninweight=expr$weight*echobinary$binnumorigisdecimal$sum 該0 * 1 + 1 * 2 = 2是用了lastchar函數(shù)。該函數(shù)使用wcc計(jì)算字符 月以后,這個(gè)文件可能會(huì)變得很大以至于使對(duì)
17、該文件的速度變慢。下面的efile )為out .1,而對(duì)于.1 就變成了.2 等等等等#vim:setsw=4ts=4et: catefile-ethefileUSAGE:efile-hOPTIONS:-hhelpLE:efileThiswille.grenameout.2toout.3,out.1toout.2,outtoandcreateanemptyout-Themaxnumber andcreateanemptyout-Themaxnumber isexitexit 1while-n$1;do case $1 in-h)help;shift-)-*)echoerror:nosuchoption$1.-hforhelp;exit# if-z$1;errorERROR:youmustspecifyafile,use-hforhelp #renameany.1,.2etcfile: for nin987654321; if-f$filen.$n;then p=expr $n + 1echomv$filen.$n$filen.$p mv $filen.$n $f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年航空器維修與檢修服務(wù)合同范本3篇
- 2025年度船舶船舶動(dòng)力系統(tǒng)安全評(píng)估與風(fēng)險(xiǎn)控制合同3篇
- 2025年度智能電網(wǎng)設(shè)備采購與安裝合同6篇
- 2024年詳盡版:國際貨運(yùn)代理與多式聯(lián)運(yùn)合同
- 2024年購銷合同實(shí)例:買賣合同的詳細(xì)操作流程
- 2024銑刨作業(yè)質(zhì)量控制與驗(yàn)收合同3篇
- 2024年高端機(jī)床制造技術(shù)與專利許可協(xié)議
- 2024年沿海地區(qū)海鮮收購合同
- 2025年度智慧城市建設(shè)采購合同管理創(chuàng)新方案3篇
- 2024年版:工程擔(dān)保服務(wù)協(xié)議2篇
- 考研心理學(xué)專業(yè)基礎(chǔ)(312)研究生考試試題及解答參考(2025年)
- 2024-2025學(xué)年人教版生物學(xué)七年級(jí)上冊(cè)期末復(fù)習(xí)練習(xí)題(含答案)
- 《AIGC應(yīng)用實(shí)戰(zhàn)(慕課版)》-課程標(biāo)準(zhǔn)
- 《安全生產(chǎn)治本攻堅(jiān)三年行動(dòng)方案(2024-2026年)》子方案合集
- 政府機(jī)關(guān)辦公用品配送方案
- 2024-2025學(xué)年遼寧省小學(xué)五年級(jí)上學(xué)期期末英語試題及解答參考
- 機(jī)器人機(jī)構(gòu)學(xué)基礎(chǔ) 部分習(xí)題及答案(于靖軍 )
- 中建橋面系及橋梁附屬專項(xiàng)施工方案
- 永威置業(yè)項(xiàng)目交付前風(fēng)險(xiǎn)排查表
- 《儲(chǔ)能材料與器件》課程教學(xué)大綱(新能源材料與器件專業(yè))
- 2024年海南省公務(wù)員考試《行測(cè)》真題及答案解析
評(píng)論
0/150
提交評(píng)論