亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? shell編程案例詳解.txt

?? 無論你是新手還是老手
?? TXT
?? 第 1 頁 / 共 5 頁
字號:

.		.字符匹配,這是作為正則表達(dá)是的一部分,用來匹配任何的單個字符.

"		部分引用."STRING"阻止了一部分特殊字符,具體見第5章.

'		全引用. 'STRING' 阻止了全部特殊字符,具體見第5章.

,		逗號鏈接了一系列的算術(shù)操作,雖然里邊所有的內(nèi)容都被運(yùn)行了,但只有最后一項(xiàng)被
		返回.

		如:
		1 let "t2 = ((a = 9, 15 / 3))"  # Set "a = 9" and "t2 = 15 / 3"

\		轉(zhuǎn)義字符,如\X等價于"X"或'X',具體見第5章.

/		文件名路徑分隔符.或用來做除法操作.

`		后置引用,命令替換,具體見第14章

:		空命令,等價于"NOP"(no op,一個什么也不干的命令).也可以被認(rèn)為與shell的內(nèi)建命令(true)作用相同.":"命令是一
		個bash的內(nèi)建命令,它的返回值為0,就是shell返回的true.

		如:
		1 :
		2 echo $?   # 0

		死循環(huán),如:

		 1 while :
		 2 do
		 3    operation-1
		 4    operation-2
		 5    ...
		 6    operation-n
		 7 done
		 8 
		 9 # 與下邊相同:
		10 #    while true
		11 #    do
		12 #      ...
		13 #    done

		在if/then中的占位符,如:
		1 if condition
		2 then :   # 什么都不做,引出分支.
		3 else
		4    take-some-action
		5 fi

		在一個2元命令中提供一個占位符,具體見Example 8-2,和"默認(rèn)參數(shù)".如:
		1 : ${username=`whoami`}
		2 # ${username=`whoami`}   如果沒有":"的話,將給出一個錯誤,除非"username"是
		3 #                        個命令
		在here document中提供一個占位符,見Example 17-10.

		使用"參數(shù)替換"來評估字符串變量(見Example 9-14).如:
		1 : ${HOSTNAME?} ${USER?} ${MAIL?}
		2 #	 如果一個或多個必要的環(huán)境變量沒被設(shè)置的話,
		3 #+ 就打印錯誤信息.

		"變量擴(kuò)展/子串替換"
		在和 > (重定向操作符)結(jié)合使用時,把一個文件截?cái)嗟?長度,沒有修改它的權(quán)限.
		如果文件在之前并不存在,那么就創(chuàng)建它.如:
		1 : > data.xxx		#文件"data.xxx"現(xiàn)在被清空了.
		2
		3 #與 cat /dev/null >data.xxx 的作用相同
		4 #然而,這不會產(chǎn)生一個新的進(jìn)程,因?yàn)?quot;:"是一個內(nèi)建命令.
		具體參見Example 12-14.

		在和>>重定向操作符結(jié)合使用時,將不會對想要附加的文件產(chǎn)生任何影響.
		如果文件不存在,將創(chuàng)建.
		注意: 這只適用于正規(guī)文件,而不是管道,符號連接,和某些特殊文件.

		也可能用來作為注釋行,雖然我們不推薦這么做.使用#來注釋的話,將關(guān)閉剩余行的
		錯誤檢查,所以可以在注釋行中寫任何東西.然而,使用:的話將不會這樣.如:
		1 : This is a comment thar generates an error,(if [ $x -eq 3] ).

		":"還用來在/etc/passwd和$PATH變量中用來做分隔符.
		bash$	echo $PATH
		/usr/local/bin:/bin:/usr/X11R6/bin:/sbin:/usr/sbin:/usr/games
!		取反操作符,將反轉(zhuǎn)"退出狀態(tài)"結(jié)果,(見Example 6-2).也會反轉(zhuǎn)test操作符的意義.比
		如修改=為!=.!操作是Bash的一個關(guān)鍵字.

		在一個不同的上下文中,!也會出現(xiàn)在"間接變量引用"見Example 9-22.

		在另一種上下文中,!還能反轉(zhuǎn)bash的"history mechanism"(見附錄J 歷史命令)
		需要注意的是,在一個腳本中,"history mechanism"是被禁用的.

*		萬能匹配字符,用于文件名匹配(這個東西有個專有名詞叫file globbing),或者是正則
		表達(dá)式中.注意:在正則表達(dá)式匹配中的作用和在文件名匹配中的作用是不同的.
		bash$ echo *
		abs-book.sgml add-drive.sh agram.sh alias.sh
*		數(shù)學(xué)乘法.
		**是冪運(yùn)算.
?		測試操作.在一個確定的表達(dá)式中,用?來測試結(jié)果.
		(())結(jié)構(gòu)可以用來做數(shù)學(xué)計(jì)算或者是寫c代碼,那?就是c語言的3元操作符的
		一個.
		在"參數(shù)替換"中,?測試一個變量是否被set了.
?		在file globbing中和在正則表達(dá)式中一樣匹配任意的單個字符.

$		變量替換
		1 var1=5
		2 var2=23skidoo
		3 
		4 echo $var1     # 5
		5 echo $var2     # 23skidoo
$		在正則表達(dá)式中作為行結(jié)束符.
${}		參數(shù)替換,見9.3節(jié).
$*,$@	位置參數(shù)
$?		退出狀態(tài)變量.$?保存一個命令/一個函數(shù)或者腳本本身的退出狀態(tài).
$$		進(jìn)程ID變量.這個$$變量保存運(yùn)行腳本進(jìn)程ID
()		命令組.如:
		1 (a=hello;echo $a)
		注意:在()中的命令列表,將作為一個子shell來運(yùn)行.
		在()中的變量,由于是在子shell中,所以對于腳本剩下的部分是不可用的.
		如:
		1 a=123
		2 ( a=321; )	      
		3 
		4 echo "a = $a"   # a = 123
		5 # 在圓括號中a變量,更像是一個局部變量.

		用在數(shù)組初始化,如:
		1 Array=(element1,element2,element3)

{xxx,yyy,zzz...}
		大括號擴(kuò)展,如:
		1 cat {file1,file2,file3} > combined_file
		2 # 把file1,file2,file3連接在一起,并且重定向到combined_file中.
		3 
		4 
		5 cp file22.{txt,backup}
		6 # 拷貝"file22.txt" 到"file22.backup"中

		一個命令可能會對大括號中的以逗號分割的文件列表起作用[1]. file globbing將對
		大括號中的文件名作擴(kuò)展.
		注意: 在大括號中,不允許有空白,除非這個空白是有意義的.
		echo {file1,file2}\ :{\ A," B",' C'}
		file1 : A file1 : B file1 : C file2 : A file2 : B file2 : C
{}		代碼塊.又被稱為內(nèi)部組.事實(shí)上,這個結(jié)構(gòu)創(chuàng)建了一個匿名的函數(shù).但是與函數(shù)不同的
		是,在其中聲明的變量,對于腳本其他部分的代碼來說還是可見的.如:
		bash$ 
		{
			local a;
			a= 123;
		}
		bash中的local申請的變量只能夠用在函數(shù)中.

		1 a=123
		2 { a=321; }
		3 echo "a = $a"   # a = 321   (說明在代碼塊中對變量a所作的修改,影響了外邊的變量a)
		4 
		5 # Thanks, S.C.

		下邊的代碼展示了在{}結(jié)構(gòu)中代碼的I/O重定向.

Example 3-1. 代碼塊和I/O重定向
################################Start Script#######################################
 1 #!/bin/bash
 2 # 從 /etc/fstab中讀行
 3 
 4 File=/etc/fstab
 5 
 6 {
 7 read line1
 8 read line2
 9 } < $File
10 
11 echo "First line in $File is:"
12 echo "$line1"
13 echo
14 echo "Second line in $File is:"
15 echo "$line2"
16 
17 exit 0
18 
19 # 現(xiàn)在,你怎么分析每行的分割域
20 # 暗示: 使用 awk.
################################End Script#########################################

Example 3-2. 將一個代碼塊的結(jié)果保存到文件
################################Start Script#######################################
 1 #!/bin/bash
 2 # rpm-check.sh
 3 
 4 # 這個腳本的目的是為了描述,列表,和確定是否可以安裝一個rpm包.
 5 # 在一個文件中保存輸出.
 6 # 
 7 # 這個腳本使用一個代碼塊來展示
 8 
 9 SUCCESS=0
10 E_NOARGS=65
11 
12 if [ -z "$1" ]
13 then
14   echo "Usage: `basename $0` rpm-file"
15   exit $E_NOARGS
16 fi  
17 
18 { 
19   echo
20   echo "Archive Description:"
21   rpm -qpi $1       # 查詢說明
22   echo
23   echo "Archive Listing:"
24   rpm -qpl $1       # 查詢列表
25   echo
26   rpm -i --test $1  # 查詢rpm包是否可以被安裝
27   if [ "$?" -eq $SUCCESS ]
28   then
29     echo "$1 can be installed."
30   else
31     echo "$1 cannot be installed."
32   fi  
33   echo
34 } > "$1.test"       # 把代碼塊中的所有輸出都重定向到文件中
35 
36 echo "Results of rpm test in file $1.test"
37 
38 # 查看rpm的man頁來查看rpm的選項(xiàng)
39 
40 exit 0
################################End Script#########################################
		注意: 與()中的命令不同的是,{}中的代碼塊將不能正常地開啟一個新shell.[2]

{} \;	路徑名.一般都在find命令中使用.這不是一個shell內(nèi)建命令.
		注意: ";"用來結(jié)束find命令序列的-exec選項(xiàng).

[]		test.
		test的表達(dá)式將在[]中.
		值得注意的是[是shell內(nèi)建test命令的一部分,并不是/usr/bin/test中的擴(kuò)展命令
		的一個連接.

[[]]	test.
		test表達(dá)式放在[[]]中.(shell關(guān)鍵字)
		具體查看[[]]結(jié)構(gòu)的討論.

[]		數(shù)組元素
		Array[1]=slot_1
		echo ${Array[1]}

[]		字符范圍
		在正則表達(dá)式中使用,作為字符匹配的一個范圍

(())	數(shù)學(xué)計(jì)算的擴(kuò)展
		在(())結(jié)構(gòu)中可以使用一些數(shù)字計(jì)算.
		具體參閱((...))結(jié)構(gòu).

>&>>&>><
		重定向.
		scriptname >filename 重定向腳本的輸出到文件中.覆蓋文件原有內(nèi)容.
		command &>filename 重定向stdout和stderr到文件中
		command >&2	重定向command的stdout到stderr
		scriptname >>filename 重定向腳本的輸出到文件中.添加到文件尾端,如果沒有文件,
		則創(chuàng)建這個文件.

		進(jìn)程替換,具體見"進(jìn)程替換部分",跟命令替換極其類似.
		(command)>
		<(command)

		<和> 可用來做字符串比較
		<和> 可用在數(shù)學(xué)計(jì)算比較

<<		重定向,用在"here document"

<<<		重定向,用在"here string"

<,>		ASCII比較
		 1 veg1=carrots
		 2 veg2=tomatoes
		 3 
		 4 if [[ "$veg1" < "$veg2" ]]
		 5 then
		 6   echo "Although $veg1 precede $veg2 in the dictionary,"
		 7   echo "this implies nothing about my culinary preferences."
		 8 else
		 9   echo "What kind of dictionary are you using, anyhow?"
		10 fi

\<,\>	正則表達(dá)式中的單詞邊界.如:
		bash$grep '\<the\>' textfile
	
|		管道.分析前邊命令的輸出,并將輸出作為后邊命令的輸入.這是一種產(chǎn)生命令鏈的
		好方法.
		1 echo ls -l | sh
		2 #  傳遞"echo ls -l"的輸出到shell中,
		3 #+ 與一個簡單的"ls -l"結(jié)果相同.
		4 
		5 
		6 cat *.lst | sort | uniq
		7 # 合并和排序所有的".lst"文件,然后刪除所有重復(fù)的行.
		
		管道是進(jìn)程間通訊的一個典型辦法,將一個進(jìn)程的stdout放到另一個進(jìn)程的stdin中.
		標(biāo)準(zhǔn)的方法是將一個一般命令的輸出,比如cat或echo,傳遞到一個過濾命令中(在這個
		過濾命令中將處理輸入),得到結(jié)果,如:
		cat $filename1 | $filename2 | grep $search_word

		當(dāng)然輸出的命令也可以傳遞到腳本中.如:
################################Start Script#######################################
1 #!/bin/bash
2 # uppercase.sh : 修改輸出,全部轉(zhuǎn)換為大寫
3 
4 tr 'a-z' 'A-Z'
5 #  字符范圍必須被""引用起來
6 #+ 來阻止產(chǎn)生單字符的文件名.
7 
8 exit 0
################################End Script#########################################
		
		現(xiàn)在讓我們輸送ls -l的輸出到一個腳本中.
		bash$ ls -l | ./uppercase.sh
		-RW-RW-R--    1 BOZO  BOZO       109 APR  7 19:49 1.TXT
		-RW-RW-R--    1 BOZO  BOZO       109 APR 14 16:48 2.TXT
		-RW-R--R--    1 BOZO  BOZO       725 APR 20 20:56 DATA-FILE

		注意:管道中的一個進(jìn)程的stdout必須被下一個進(jìn)程作為stdin讀入.否則,數(shù)據(jù)流會阻
		塞,并且管道將產(chǎn)生非預(yù)期的行為.
		如:
		1 cat file1 file2 | ls -l | sort
		2 #從"cat file1 file2"中的輸出并沒出現(xiàn)

		作為子進(jìn)程的運(yùn)行的管道,不能夠改變腳本的變量.
		1 variable="initial_value"
		2 echo "new_value" | read variable
		3 echo "variable = $variable"			#variable = initial_value
		如果管道中的某個命令產(chǎn)生了一個異常,并中途失敗,那么這個管道將過早的終止.
		這種行為被叫做a broken pipe,并且這種狀態(tài)下將發(fā)送一個SIGPIPE信號.

>|		強(qiáng)制重定向(即使設(shè)置了noclobber選項(xiàng)--就是-C選項(xiàng)).這將強(qiáng)制的覆蓋一個現(xiàn)存文件.

||		或-邏輯操作.

&		后臺運(yùn)行命令.一個命令后邊跟一個&,將表示在后臺運(yùn)行.
		bash$sleep 10 &
		[1] 850
		[1]+	Done			sleep 10
		在一個腳本中,命令和循環(huán)都可能運(yùn)行在后臺.

Example 3-3. 在后臺運(yùn)行一個循環(huán)
################################Start Script#######################################

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩美一区二区三区| 久久久夜色精品亚洲| 久草在线在线精品观看| 日韩理论片一区二区| 欧美大片一区二区| 欧美亚洲综合一区| 国产高清无密码一区二区三区| 亚洲第一狼人社区| 国产精品高潮久久久久无| 欧美哺乳videos| 欧美日本在线视频| 91在线你懂得| 国产盗摄一区二区三区| 久久国产免费看| 婷婷夜色潮精品综合在线| 亚洲视频小说图片| 中文字幕精品三区| 久久久亚洲午夜电影| 91精品在线麻豆| 欧亚一区二区三区| 91日韩在线专区| 高潮精品一区videoshd| 韩国女主播一区| 国内精品伊人久久久久av一坑| 日日骚欧美日韩| 亚洲图片欧美一区| 亚洲综合成人在线| 亚洲黄色尤物视频| 一区二区三区自拍| 自拍偷拍亚洲激情| 亚洲三级在线看| 中文字幕中文字幕一区二区| 中文字幕欧美区| 欧美激情在线一区二区| 国产日产欧产精品推荐色 | 免费在线观看日韩欧美| 亚洲一区二区视频在线| 夜夜嗨av一区二区三区| 亚洲精品日韩专区silk | 久久99精品久久久久婷婷| 欧美a一区二区| 久国产精品韩国三级视频| 久久国产精品免费| 国内久久婷婷综合| 国产美女精品一区二区三区| 国产综合久久久久影院| 国产精品亚洲人在线观看| 国产精品77777| 成人h精品动漫一区二区三区| 成人av免费在线观看| 91丨porny丨国产| 欧美在线视频日韩| 欧美色图片你懂的| 欧美一区二区黄| 久久久综合视频| 中文字幕一区日韩精品欧美| 一区二区三区美女视频| 香蕉乱码成人久久天堂爱免费| 国产一区二三区| 国产成人精品三级麻豆| 99re在线精品| 欧美丝袜丝nylons| 26uuu精品一区二区| 国产精品少妇自拍| 一区二区三区欧美日| 天天综合网 天天综合色| 精品一区二区综合| 国产成人8x视频一区二区| 91在线视频播放| 7777精品伊人久久久大香线蕉的| 日韩精品一区在线观看| 国产午夜亚洲精品不卡| 亚洲精品菠萝久久久久久久| 免费久久99精品国产| 国产成人aaaa| 欧美日韩久久久| 久久久久久亚洲综合影院红桃| 中文字幕一区二区日韩精品绯色| 五月天久久比比资源色| 国产91丝袜在线观看| 在线看一区二区| 精品国产第一区二区三区观看体验 | 欧美高清在线一区| 亚洲成av人片观看| 东方aⅴ免费观看久久av| 欧美日韩色一区| 欧美激情一二三区| 日本网站在线观看一区二区三区| 成人av在线网| 日韩欧美高清在线| 国产精品久久午夜夜伦鲁鲁| 青青草国产精品亚洲专区无| 91亚洲永久精品| 26uuu色噜噜精品一区| 亚洲国产精品影院| 成人av在线一区二区三区| 日韩欧美一区二区在线视频| 中文字幕欧美一| 激情小说欧美图片| 欧美亚日韩国产aⅴ精品中极品| 久久精品无码一区二区三区| 亚洲超碰97人人做人人爱| 99re在线视频这里只有精品| 精品成人a区在线观看| 亚洲va中文字幕| 91老师片黄在线观看| 久久精品日产第一区二区三区高清版| 亚洲综合久久av| 不卡的av电影| 国产日韩欧美高清| 老司机精品视频一区二区三区| 欧美日韩一本到| 洋洋av久久久久久久一区| 不卡一区二区在线| 国产日韩成人精品| 国产精品综合视频| 精品黑人一区二区三区久久 | 欧美aⅴ一区二区三区视频| 91久久线看在观草草青青 | 久久草av在线| 91精品国产综合久久精品性色| 亚洲精品日韩综合观看成人91| 99久久精品国产精品久久| 国产欧美日产一区| 国产自产2019最新不卡| 日韩视频免费观看高清完整版| 天天综合日日夜夜精品| 欧美日韩一区二区三区在线| 综合久久国产九一剧情麻豆| 99re热这里只有精品视频| 亚洲图片激情小说| 成人黄色777网| 亚洲视频精选在线| 91黄色小视频| 亚洲一区二区3| 欧美日韩精品二区第二页| 亚洲电影视频在线| 在线电影院国产精品| 日韩主播视频在线| 91精品国产91久久久久久一区二区| 日本va欧美va精品| 自拍偷拍欧美精品| 一本大道久久a久久精品综合| 中文字幕一区二| 色呦呦国产精品| 亚洲国产综合91精品麻豆| 欧美欧美欧美欧美| 久久成人羞羞网站| 久久精品欧美一区二区三区麻豆| 国产精品伊人色| 自拍偷拍亚洲欧美日韩| 在线看日本不卡| 秋霞影院一区二区| 精品99一区二区| 粉嫩在线一区二区三区视频| 亚洲婷婷国产精品电影人久久| 欧美吞精做爰啪啪高潮| 天天亚洲美女在线视频| 精品日本一线二线三线不卡| 国产不卡视频在线播放| 亚洲女女做受ⅹxx高潮| 欧美日韩成人高清| 国产精品综合二区| 亚洲男同性视频| 欧美一级黄色录像| 成人污视频在线观看| 亚洲超丰满肉感bbw| 26uuu亚洲综合色| 91论坛在线播放| 麻豆一区二区在线| 国产精品国产自产拍高清av| 欧美老年两性高潮| 国产成人精品影视| 亚洲成a人在线观看| 国产亚洲制服色| 欧美午夜精品理论片a级按摩| 精品中文字幕一区二区小辣椒| **网站欧美大片在线观看| 日韩一二三四区| 99re66热这里只有精品3直播 | 色999日韩国产欧美一区二区| 亚洲v日本v欧美v久久精品| 久久综合av免费| 欧美亚洲日本一区| 国产一区二区不卡在线| 亚洲伊人色欲综合网| 国产欧美日韩视频一区二区| 精品视频色一区| 成人av中文字幕| 国内久久精品视频| 视频在线观看91| 国产精品久久久久四虎| 日韩欧美自拍偷拍| 91欧美一区二区| 国产麻豆精品在线| 日韩精品91亚洲二区在线观看 | 26uuu久久综合| 国产日韩欧美精品一区| 欧美久久一区二区| 99精品欧美一区二区三区小说|