锘??xml version="1.0" encoding="utf-8" standalone="yes"?>日日摸日日碰夜夜爽亚洲,久久久久亚洲av无码尤物,亚洲精品乱码久久久久蜜桃http://m.tkk7.com/asdtiang/category/48658.htmlasdtiang-java-groovy-grails studyzh-cnMon, 23 May 2011 11:35:36 GMTMon, 23 May 2011 11:35:36 GMT60linux shell 緙栬緫鍩虹http://m.tkk7.com/asdtiang/archive/2011/05/23/350828.htmlasdtiangasdtiangMon, 23 May 2011 06:13:00 GMThttp://m.tkk7.com/asdtiang/archive/2011/05/23/350828.htmlhttp://m.tkk7.com/asdtiang/comments/350828.htmlhttp://m.tkk7.com/asdtiang/archive/2011/05/23/350828.html#Feedback0http://m.tkk7.com/asdtiang/comments/commentRss/350828.htmlhttp://m.tkk7.com/asdtiang/services/trackbacks/350828.htmlshell紼嬪簭
浠涔堟槸shell紼嬪簭鍛? 綆鍗曠殑璇磗hell紼嬪簭灝辨槸涓涓寘鍚嫢騫茶
shell鎴栬?strong>linux鍛戒護鐨勬枃浠?
璞$紪鍐欓珮綰ц璦鐨勭▼搴忎竴鏍?緙栧啓涓涓猻hell紼嬪簭闇瑕佷竴涓枃鏈紪杈戝櫒.濡俈I絳?
鍦ㄦ枃鏈紪杈戠幆澧冧笅,渚濇嵁shell鐨勮娉曡鍒?杈撳叆涓浜泂hell/linux鍛戒護琛?褰㈡垚涓涓畬鏁?br />鐨勭▼搴忔枃浠?
鎵цshell紼嬪簭鏂囦歡鏈変笁縐嶆柟娉?br />(1)#chmod +x file
(2)#sh file
(3)# . file
鍦ㄧ紪鍐?strong>shell鏃?絎竴琛屼竴瀹氳鎸囨槑緋葷粺闇瑕侀偅縐峴hell瑙i噴浣犵殑shell紼嬪簭,濡?#! /bin/bash,
#! /bin/csh,/bin/tcsh,榪樻槸#! /bin/pdksh .
2.shell涓殑鍙橀噺
(1)甯哥敤緋葷粺鍙橀噺
     $ #        :淇濆瓨紼嬪簭鍛戒護琛屽弬鏁扮殑鏁扮洰
     $ ?        :淇濆瓨鍓嶄竴涓懡浠ょ殑榪斿洖鐮?br />     $ 0        :淇濆瓨紼嬪簭鍚?br />     $ *        :浠?"$1 $2...")鐨勫艦寮忎繚瀛樻墍鏈夎緭鍏ョ殑鍛戒護琛屽弬鏁?br />     $ @        :浠?"$1""$2"...)鐨勫艦寮忎繚瀛樻墍鏈夎緭鍏ョ殑鍛戒護琛屽弬鏁?br />(2)瀹氫箟鍙橀噺
   shell璇█鏄潪綾誨瀷鐨勮В閲婂瀷璇█,涓嶈薄鐢–++/JAVA璇█緙栫▼鏃墮渶瑕佷簨鍏堝0鏄庡彉閲?緇欎竴
涓彉閲忚祴鍊?瀹為檯涓婂氨鏄畾涔変簡鍙橀噺.
   鍦?strong>linux鏀寔鐨勬墍鏈塻hell涓?閮藉彲浠ョ敤璧嬪肩鍙?=)涓哄彉閲忚祴鍊?
濡?
abc=9 (bash/pdksh涓嶈兘鍦ㄧ瓑鍙蜂袱渚х暀涓嬬┖鏍?)
set abc = 9 (tcsh/csh)
   鐢變簬shell紼嬪簭鐨勫彉閲忔槸鏃犵被鍨嬬殑,鎵浠ョ敤鎴峰彲浠ヤ嬌鐢ㄥ悓涓涓彉閲忔椂鑰屽瓨鏀懼瓧絎︽椂鑰屽瓨鏀?br />鏁存暟.
濡?
name=abc (bash/pdksh)
set name = abc (tcsh)
鍦ㄥ彉閲忚祴鍊間箣鍚?鍙渶鍦ㄥ彉閲忓墠闈㈠姞涓涓?鍘誨紩鐢?
濡?
echo $abc
(3)浣嶇疆鍙橀噺
褰撹繍琛屼竴涓敮鎸佸涓懡浠よ鍙傛暟鐨剆hell紼嬪簭鏃?榪欎簺鍙橀噺鐨勫煎皢鍒嗗埆瀛樻斁鍦ㄤ綅緗彉閲忛噷.
鍏朵腑絎竴涓弬鏁板瓨鏀懼湪浣嶇疆鍙橀噺1,絎簩涓弬鏁板瓨鏀懼湪浣嶇疆鍙橀噺2,渚濇綾繪帹...,shell淇濈暀
榪欎簺鍙橀噺,涓嶅厑璁哥敤鎴蜂互浠ゅ鐨勬柟寮忓畾涔変粬浠?鍚屽埆鐨勫彉閲?鐢?絎﹀彿寮曠敤浠栦滑.

3.shell涓紩鍙風殑浣跨敤鏂規硶
shell浣跨敤寮曞彿(鍗曞紩鍙?鍙屽紩鍙?鍜屽弽鏂滅嚎("\")鐢ㄤ簬鍚憇hell瑙i噴鍣ㄥ睆钄戒竴浜涚壒孌婂瓧絎?
鍙嶅紩鍙?")瀵箂hell鍒欐湁鐗規畩鎰忎箟.
濡?
abc="how are you" (bash/pdksh)
set abc = "how are you" (tcsh)
榪欎釜鍛戒護琛屾妸涓変釜鍗曡瘝緇勬垚鐨勫瓧絎︿覆how are you浣滀負涓涓暣浣撹祴鍊肩粰鍙橀噺abc.
abc1='@LOGNAME,how are you!' (bash/pdksh)
set abc1='$LOGNAME,how are you!' (tcsh)
abc2="$LOGNAME,how are you!" (bash/pdksh)
set abc2="$LOGNAME,how are you!" (tcsh)
LOGNAME鍙橀噺鏄繚瀛樺綋鍓嶇敤鎴峰悕鐨剆hell鍙橀噺,鍋囪浠栫殑褰撳墠鍊兼槸:wang.鎵ц瀹屼袱鏉″懡浠ゅ悗,
abc1鐨勫唴瀹規槸:$LOGNAME, how are you!.鑰宎bc2鐨勫唴瀹規槸;wang, how are you!.
璞″崟寮曞彿涓鏍?鍙嶆枩綰夸篃鑳藉睆钄芥墍鏈夌壒孌婂瓧絎?浣嗘槸浠栦竴嬈″彧鑳藉睆钄戒竴涓瓧絎?鑰屼笉鑳藉睆钄?br />涓緇勫瓧絎?
鍙嶅紩鍙風殑鍔熻兘涓嶅悓浜庝互涓婄殑涓夌絎﹀彿.浠栦笉鍏鋒湁灞忚斀鐗規畩瀛楃鐨勫姛鑳?浣嗘槸鍙互閫氳繃浠栧皢
涓涓懡浠ょ殑榪愯緇撴灉浼犻掔粰鍙﹀涓涓懡浠?
濡?
contents=`ls` (bash/pdksh)
set contents = `ls` (tcsh)
4.shell紼嬪簭涓殑test鍛戒護
鍦╞ash/pdksh涓?鍛戒護test鐢ㄤ簬璁$畻涓涓潯浠惰〃杈懼紡鐨勫?浠栦滑緇忓父鍦ㄦ潯浠惰鍙ュ拰寰幆
璇彞涓鐢ㄦ潵鍒ゆ柇鏌愪簺鏉′歡鏄惁婊¤凍.
test鍛戒護鐨勮娉曟牸寮?
test expression
鎴栬?br />[expression]

鍦╰est鍛戒護涓?鍙互浣跨敤寰堝shell鐨勫唴閮ㄦ搷浣滅.榪欎簺鎿嶄綔絎︿粙緇嶅涓?
(1)瀛楃涓叉搷浣滅 鐢ㄤ簬璁$畻瀛楃涓茶〃杈懼紡
test鍛戒護    |    鍚箟
-----------------------------------------
Str1 = str2 | 褰搒tr1涓巗tr2鐩稿悓鏃?榪斿洖True
Str1! = str2| 褰搒tr1涓巗tr2涓嶅悓鏃?榪斿洖True
     Str      | 褰搒tr涓嶆槸絀哄瓧絎︽椂,榪斿洖True
    -n str    | 褰搒tr鐨勯暱搴﹀ぇ浜?鏃?榪斿洖True
    -z str    | 褰搒tr鐨勯暱搴︽槸0鏃?榪斿洖True
-----------------------------------------
(2)鏁存暟鎿嶄綔絎﹀叿鏈夊拰瀛楃鎿嶄綔絎︾被浼肩殑鍔熻兘.鍙槸浠栦滑鐨勬搷浣滄槸閽堝鏁存暟
test琛ㄨ揪寮?nbsp;  |    鍚箟
---------------------------------------------
Int1 -eq int2|褰搃nt1絳変簬int2鏃?榪斿洖True
Int1 -ge int2|褰搃nt1澶т簬/絳変簬int2鏃?榪斿洖True
Int1 -le int2|褰搃nt1灝忎簬/絳変簬int2鏃?榪斿洖True
Int1 -gt int2|褰搃nt1澶т簬int2鏃?榪斿洖True
Int1 -ne int2|褰搃nt1涓嶇瓑浜巌nt2鏃?榪斿洖True
-----------------------------------------
(3)鐢ㄤ簬鏂囦歡鎿嶄綔鐨勬搷浣滅,浠栦滑鑳芥鏌?鏂囦歡鏄惁瀛樺湪,鏂囦歡綾誨瀷絳?br />test琛ㄨ揪寮?nbsp;  |    鍚箟
------------------------------------------------
-d file      |褰揻ile鏄竴涓洰褰曟椂,榪斿洖 True
-f file      |褰揻ile鏄竴涓櫘閫氭枃浠舵椂,榪斿洖 True
-r file      |褰揻ile鏄竴涓埢璇繪枃浠舵椂,榪斿洖 True
-s file      |褰揻ile鏂囦歡闀垮害澶т簬0鏃?榪斿洖 True
-w file      |褰揻ile鏄竴涓彲鍐欐枃浠舵椂,榪斿洖 True
-x file      |褰揻ile鏄竴涓彲鎵ц鏂囦歡鏃?榪斿洖 True
------------------------------------------------
(4)shell鐨勯昏緫鎿嶄綔絎︾敤浜庝慨楗?榪炴帴鍖呭惈鏁存暟,瀛楃涓?鏂囦歡鎿嶄綔絎︾殑琛ㄨ揪寮?br />test琛ㄨ揪寮?nbsp;   |    鍚箟
----------------------------------------------------------
! expr        |褰揺xpr鐨勫兼槸False鏃?榪斿洖True
Expr1 -a expr2|褰揺xpr1,expr2鍊煎悓涓篢rue鏃?榪斿洖True
Expr1 -o expr2|褰揺xpr1,expr2鐨勫艱嚦灝戞湁涓涓負True鏃?榪斿洖True
-----------------------------------------------------------
娉ㄦ剰:
tcsh shell 涓嶄嬌鐢╰est鍛戒護,浣嗘槸tcsh涓殑琛ㄨ揪寮忓悓鏍瘋兘鎵挎媴鐩稿悓鐨勫姛鑳?tcsh
鏀寔鐨勮〃杈懼紡浜嶤涓殑琛ㄨ揪寮忕浉鍚?閫氬父浣跨敤鍦╥f鍜寃hile鍛戒護涓?
tcsh琛ㄨ揪寮?nbsp;   |    鍚箟
-------------------------------------------------------
Int1 <= int2 |褰搃nt1灝忎簬/絳変簬int2鏃?榪斿洖True
Int1 >= int2 |褰搃nt1澶т簬/絳変簬int2鏃?榪斿洖True
Int1 < int2   |褰搃nt1灝忎簬int2鏃?榪斿洖True
Int1 > int2   |褰搃nt1澶т簬int2鏃?榪斿洖True
Str1 == str2 |褰搒tr1涓巗tr2鐩稿悓鏃?榪斿洖True
Str1 != str2 |褰搒tr1涓巗tr2涓嶅悓鏃?榪斿洖True
-r file       |褰揻ile鏄竴涓彲璇繪枃浠舵椂,榪斿洖True
-w file       |褰揻ile鏄竴涓彲鍐欐枃浠舵椂,榪斿洖True
-x file       |褰揻ile鏄竴涓彲鎵ц鏂囦歡鏃?榪斿洖True
-e file       |褰揻ile瀛樺湪鏃?榪斿洖True
-o file       |褰揻ile鏂囦歡鐨勬墍鏈夎呮槸褰撳墠鐢ㄦ埛鏃?榪斿洖True
-z file       |褰揻ile闀垮害涓?鏃?榪斿洖True
-f file       |褰揻ile鏄竴涓櫘閫氭枃浠舵椂,榪斿洖True
-d file       |褰揻ile鏄竴涓洰褰曟椂,榪斿洖True
Exp1 || exp2 |褰揺xp1鍜宔xp2鐨勫艱嚦灝戜竴涓負True鏃?榪斿洖True
Exp1 && exp2 |褰揺xp1鍜宔xp2鐨勫煎悓涓篢rue鏃?榪斿洖True
! exp         |褰揺xp鐨勫間負False鏃?榪斿洖True

5.鏉′歡璇彞
鍚屽叾浠栭珮綰ц璦紼嬪簭涓鏍?澶嶆潅鐨剆hell紼嬪簭涓粡甯鎬嬌鐢ㄥ埌鍒嗘敮鍜屽驚鐜帶鍒剁粨鏋?
bash,pdksh鍜宼csh鍒嗗埆閮芥湁涓ょ涓嶅悓褰㈠紡鐨勬潯浠惰鍙?if璇彞鍜宑ase璇彞.
(1)if璇彞
璇硶鏍煎紡:
bash/pdksh鐢ㄦ硶:
if [expression1]
then
commands1
elif [expression2]
commands2
else
commands3
if

tcsh鐢ㄦ硶:
if (expression1) then
commands1
else if (expression2) then
commands2
else
commands3
endif

鍚箟:褰揺xpression1鐨勬潯浠朵負True鏃?shell鎵цthen鍚庨潰鐨刢ommands1鍛戒護;褰?br />expression1鐨勬潯浠朵負false騫朵笖expression2鐨勬潯浠舵弧瓚充負True鏃?shell鎵ц
commands2鍛戒護;褰揺xpression1鍜宔xpressin2鐨勬潯浠跺煎悓涓篺alse鏃?shell鎵ц
commands3鍛戒護.if璇彞浠ヤ粬鐨勫弽鍐檉i緇撳熬.

(2)case璇彞
case璇彞瑕佹眰shell灝嗕竴涓瓧絎︿覆S涓庝竴緇勫瓧絎︿覆妯″紡P1,P2,...,Pn姣旇緝,褰揝涓?br />鏌愪釜妯″紡Pi鎯沖尮閰嶆椂,灝辨墽琛岀浉搴旂殑閭d竴閮ㄥ垎紼嬪簭/鍛戒護.shell鐨刢ase璇彞涓瓧絎?br />妯″紡閲屽彲浠ュ寘鍚薄*榪欐牱鐨勯氶厤絎?
璇硶鏍煎紡:
bash/pdksh鐢ㄦ硶:
case string1 in
str1)
commands1;;
str2)
commands2;;
*)
commands3;;
esac

tcsh鐢ㄦ硶:
switch (string1)
case str1:
statements1
breaksw
case str2:
statements2
breaksw
default:
statements3
breaksw
endsw

鍚箟:shell灝嗗瓧絎︿覆string1鍒嗗埆鍜屽瓧絎︿覆妯″紡str1鍜宻tr2姣旇緝.濡傛灉string1涓巗tr1鍖歸厤,鍒?br />shell鎵цcommands1鐨勫懡浠?璇彞;濡傛灉string11鍜宻tr2鍖歸厤,鍒檚hell鎵цcommands2鐨勫懡浠?
璇彞.鍚﹀垯shell灝嗘墽琛宑ommands3鐨勯偅孌電▼搴?鍛戒護.鍏朵腑,姣忎釜鍒嗘敮鐨勭▼搴?鍛戒護閮借浠ヤ袱涓?br />鍒嗗彿(;;)緇撴潫.

6.寰幆璇彞
褰撻渶瑕侀噸澶嶇殑鏌愪簺鎿嶄綔鏃?灝辮鐢ㄥ埌寰幆璇彞.

(1)for璇彞
澶у鐭ラ亾鍦ㄥ緢澶氱紪紼嬭璦涓璮or璇彞鏄渶甯歌.鍦╯hell涓篃涓嶄緥澶?for璇彞瑕佹眰shell灝嗗寘鍚?br />鍦ㄨ繖涓鍙ヤ腑鐨勪竴緇勫懡浠よ繛緇墽琛屼竴瀹氱殑嬈℃暟.
璇硶鏍煎紡:
bash/pdksh
鐢ㄦ硶1:
for var1 in list
do
commands
done
鍚箟:鍦ㄨ繖涓猣or璇彞涓?瀵瑰簲浜巐ist涓殑姣忎釜鍊?shell灝嗘墽琛屼竴嬈ommands浠h〃鐨勪竴緇勫懡浠?
鍦ㄦ暣涓驚鐜殑姣忎竴嬈℃墽琛屼腑,鍙橀噺var1灝嗕緷姝ゅ彇list涓殑涓嶅悓鐨勫?
鐢ㄦ硶2:
for var1
do
setatements
done
鍚箟:鍦ㄨ繖涓猣or璇彞涓?shell閽堝鍙橀噺var1涓殑姣忎竴欏瑰垎鍒墽琛屼竴嬈tatements浠h〃鐨勪竴緇?br />鍛戒護.褰撲嬌鐢ㄨ繖縐嶅艦寮忕殑璇彞鏃?shell璁や負var1鍙橀噺涓寘鍚簡鎵鏈夌殑浣嶇疆鍙橀噺,鑰屼綅緗彉閲忎腑
瀛樻斁鐫紼嬪簭鐨勫懡浠よ鍙傛暟鍊?涔熷氨鏄,浠栫瓑浠蜂簬涓嬪垪褰㈠紡:
for var1 in " $@"
do
statements
done

tcsh鐢ㄦ硶:
鍦╰csh涓病鏈塮or榪欎釜鍗曡瘝,涓巉or璇彞璧峰悓鏍峰姛鑳界殑鏄痜oreach璇彞
foreach name (list)
commands
end

涓句緥:
for file                       ;bash/pdksh
do
tr a-z A-Z<$file>file.caps
done

#                              ;tcsh
foreach file ( $ * )
tr a-z A-Z<$file>$file.caps
end


(2)while璇彞
while璇彞鏄痵hell鎻愪緵鐨勫彟涓縐嶅驚鐜鍙? while璇彞鎸囧畾涓涓〃杈懼紡鍜屼竴緇勫懡浠?榪欎釜
璇彞浣垮緱shell閲嶅鎵ц涓緇勫懡浠?鐩村埌琛ㄨ揪寮忕殑鍊間負False涓烘.
璇硶鏍煎紡:
while expression     ;bash
do
statements
done

while (expression)   ;tcsh
statements
end
涓句緥:
count=1              ;bash
while [ -n "$ *"]    ***
do
echo "this is a parameter number $count $1"
shift
count='expr $count + 1'
done

set count = 1         ;tcsh
while ( " $ * " ! = "")
echo "this is a parameter number $count $1"
shift
set count = 'expr $count + 1'
end

璇彞涓璼hift鍛戒護鐨勫姛鑳芥槸灝嗘墍鏈夌殑鍛戒護琛屽弬鏁頒緷嬈$浉宸︿紶閫?

(3)until璇彞
until涓巜hile璇彞鍏鋒湁綾諱技鐨勮娉曟牸寮忓拰鍔熻兘,涓嶅悓鐨勬槸while涓璭xpression鐨勫間負True鏃?
shell鎵ц鍛戒護緇?鑰寀ntil涓綋expression鐨勫間負False鏃?shell鎵嶆墽琛岄偅緇勫懡浠?
璇硶鏍煎紡:
until expression
do
commands
done
涓句緥:
count=1
until [ -z " $ * "]       ***
echo "this is a parameter number $count $1"
shift
count='expr $count + 1'
done
鎯呮敞鎰忎笂榪頒緥瀛愪腑甯?**鍙?鍦╳hile涓殑琛ㄨ揪寮? -n string,浠栫殑鍚箟鏄綋string涓嶆槸絀?br />瀛楃涓叉椂,琛ㄨ揪寮忕殑鍊間負True;鍦╱ntil涓殑琛ㄨ揪寮? -z string,浠栫殑 鍚箟鏄綋string鏄┖
瀛楃涓叉椂,琛ㄨ揪寮忕殑鍊間負True.鐢辨鍙,涓や釜紼嬪簭瀵規潯浠惰〃杈懼紡鐨勮緗伆濂芥槸鐩稿弽鐨?

(4)shift璇彞
bash鍜宼csh閮芥敮鎸乻hift鍛戒護.shift灝嗗瓨鏀懼湪浣嶇疆鍙橀噺涓殑鍛戒護琛屽弬鏁?渚濇鍚戝乏浼犻?渚嬪
浣嶇疆鍙橀噺褰撳墠鍊間負:
$1=file1 $2=file2 $3=file3
鎵ц涓嬈hift鍛戒護鍚?浣嶇疆鍙橀噺鐨勫間負:
$1=file2 $2=file3
榪樺彲浠ュ湪shift鍛戒護涓寚瀹氫綅緗彉閲忚漿縐葷殑嬈℃暟, 濡?
shift n
渚嬪瓙:
while [ "$1"]
do
if [ "$1"="-i"] then
infile=" $2"
shift 2
else if [ "$1"="-o"] then
outfile="$2"
shift 2
else
echo "Program $0 does not recognize option $1"
fi
done
tr a-z A-Z<$infile>$outfile

(5)select璇彞
select璇彞鏄痯dksh鎻愪緵鐨勪竴涓嫭鐗圭殑寰幆璇彞.浠栦笉鍚屼簬鍓嶉潰浠嬬粛鐨勫驚鐜鍙?浠栦笉鏄?br />鍙嶅璁$畻涓涓潯浠惰〃杈懼紡,騫朵緷鎹〃杈懼紡鐨勫煎喅瀹氭槸鍚︽墽琛屼竴緇勫懡浠?select鐨勫姛鑳芥槸鑷姩鐨?br />鐢熸垚涓涓畝鍗曠殑鏂囨湰鑿滃崟.
璇硶鏍煎紡:
select menu [in list_of_items]
do
commands
done
鍚箟:褰撴墽琛屼竴涓猻elect璇彞鏃?pdksh鍒嗗埆涓烘瘡涓垪鍦╨ist_of_items涓殑鎴愬憳寤虹珛涓涓彍鍗?br />閫夐」.list_of_items鏃㈠彲浠ユ槸涓涓寘鍚涓夐」鐨勫彉閲?涔熷彲浠ユ槸鐩存帴鍒楀湪紼嬪簭涓殑涓緇勯夐」
.濡傛灉璇彞涓病鏈夋彁渚沴ist_of_items,select璇彞灝嗕嬌鐢ㄤ綅緗彉閲忎綔涓簂ist_of_items.
涓句緥:
select menuitem in pick1 pick2 pick3
do
echo "are you sure you want to pick $menuitem"
read res                   ;鎺ユ敹鐢ㄦ埛鐨勮緭鍏?騫朵笖灝嗚緭鍏ョ殑鍊煎瓨鏀懼湪鐗瑰畾鍙橀噺閲?
if [ $res=" y" -o $res=" Y"]
then
break                      ;鐢ㄤ簬閫鍑簑hile,for,select絳夊驚鐜鍙?br />fi
done
(6)repeat璇彞
repeat璇彞鏄痶csh鎻愪緵鐨勭嫭鏈夌殑寰幆璇彞.浣跨敤repeat鍛戒護瑕佹眰shell瀵逛竴涓懡浠ゆ墽琛屼竴瀹?br />鐨勬鏁?
璇硶鏍煎紡:
repeat count command
濡?
foreach num ( $ *)
repeat $num echo -n " *"
echo " "
end

7.shell涓殑鍑芥暟
shell鍏佽鐢ㄦ埛瀹氫箟鑷繁鐨勫嚱鏁?鍑芥暟鏄珮綰ц璦涓殑閲嶈緇撴瀯.shell涓殑鍑芥暟浜嶤鎴栬呭叾浠?br />璇█涓畾涔夌殑鍑芥暟涓鏍?涓庝粠澶村紑濮?涓琛屼竴琛屽湴鍐欑▼搴忕浉姣?浣跨敤鍑芥暟涓昏濂藉鏄湁鍒╀簬緇勭粐
鏁翠釜紼嬪簭.鍦╞ash涓?涓涓嚱鏁扮殑璇硶鏍煎紡濡備笅:
fname (){
shell comands
}
瀹氫箟濂藉嚱鏁板悗,闇瑕佸湪紼嬪簭涓皟鐢ㄤ粬浠?bash涓皟鐢ㄥ嚱鏁扮殑鏍煎紡:
fname [parm1 parm2 parm3...]
璋冪敤鍑芥暟鏃?鍙互鍚戝嚱鏁頒紶閫掍換鎰忓涓弬鏁?鍑芥暟灝嗚繖浜涘弬鏁扮湅鍋氭槸瀛樻斁浠栫殑鍛戒護琛屽弬鏁扮殑
浣嶇疆鍙橀噺.
涓句緥:
榪欎釜紼嬪簭瀹氫箟浜?涓嚱鏁?
upper ():灝嗕紶閫掔粰浠栫殑鏂囦歡涓殑瀛楁瘝杞崲鎴愬ぇ鍐?騫跺瓨鏀懼埌鍚屽悕鐨勭粨灝句負.out鐨勬枃浠朵腑.
lower ():灝嗕紶閫掔粰浠栫殑鏂囦歡閲岀殑瀛楁瘝杞崲鎴愬皬鍐?騫跺瓨鏀懼埌鍚屽悕鐨勭粨灝句負.out鐨勬枃浠朵腑.
print ():杈撳嚭浼犻掔粰浠栫殑鏂囦歡鐨勫唴瀹?
usage_error ():杈撳嚭紼嬪簭鐨勫府鍔╀俊鎭?
紼嬪簭鐨勪富妯″潡鏄釜case鏉′歡璇彞,浠栨牴鎹懡浠よ涓涓涓弬鏁?鍐沖畾紼嬪簭瑕佸畬鎴愮殑鍔熻兘,騫惰皟鐢ㄧ浉搴?br />鐨勫嚱鏁板畬鎴愯繖涓鍔熻兘.
upper (){
shift
for i
do
tr a-a A-Z<$!>$1.out
rm $1
mv $1.out $1
shift
done; }
lower () {
shift
for i
do
tr A-Z a-z<$1>$1.out
rm $1
mv $1.out $1
shift
done; }
print() {
shift
for i
do
lpr $1
shift
done; }
usage_error() {
echo " $1 syntax is $1<option><input files>"
echo ""
echo " where option is one of the following"
echo " p--to print frame files"
echo " u--to save as uppercase"
echo " l--to save as lowercase";}
case $1 in
p | -p)print $@;;
u | -u)upper $@;;
l | -l)lower $@;;
*) usage_error $0;;
esac

------------------------------------------------------------------------------
鎬葷粨
鍒╃敤shell緙栫▼鏄彁楂樼郴緇熺鐞嗗伐浣滄晥鐜囩殑閲嶈鎵嬫,瀛﹀ソshell璺熶簡瑙g郴緇熷熀鏈懡浠ゅ拰綆$悊
宸ュ叿鐨勪嬌鐢ㄦ柟娉曞悓鏍烽噸瑕?

闄?
A.bash涓父鐢ㄧ殑鍛戒護
鍛戒護      |    鍚箟
-------------------------------------------------------------------------------
Alias     |璁劇疆鍛戒護鍒悕
Bg        |灝嗕竴涓鎸傝搗鐨勮繘紼嬪湪鍚庡彴鎵ц
cd        |鏀瑰彉鐢ㄦ埛鐨勫綋鍓嶇洰褰?br />exit      |緇堟涓涓猻hell
export    |浣夸綔涓鴻繖涓懡浠ょ殑鍙傛暟鐨勫彉閲忓強鍏跺綋鍓嶅?鍦ㄥ綋鍓嶈繍琛岀殑shell鐨勫瓙榪涚▼涓彲瑙?br />fc        |緙栬緫褰撳墠鐨勫懡浠よ鍘嗗彶鍒楄〃
fg        |璁╀竴涓鎸傝搗鐨勮繘紼嬪湪鍓嶅彴鎵ц
help      |鏄劇ずbash鍐呴儴鍛戒護鐨勫府鍔╀俊鎭?br />history   |鏄劇ず鏈榪戣緭鍏ョ殑涓瀹氭暟閲忕殑鍛戒護琛?br />kill      |緇堟涓涓繘紼?br />pwd       |鏄劇ず鐢ㄦ埛褰撳墠宸ヤ綔鐩綍
unalias   |鍒犻櫎鍛戒護琛屽埆鍚?br />--------------------------------------------------------------------------------

B.bash涓父鐢ㄧ殑緋葷粺鍙橀噺
鍙橀噺          |    鍚箟
-------------------------------------------------------------------------------
EDITOR,FCEDIT |Bash鐨刦c鍛戒護鐨勯粯璁ゆ枃鏈紪杈戝櫒
HISTFILE      |瑙勫畾瀛樻斁鏈榪戣緭鍏ュ懡浠よ鏂囦歡鐨勫悕瀛?br />HISTSIZE      |瑙勫畾鍛戒護琛屽巻鍙叉枃浠剁殑澶у皬
HOME          |褰撳墠鐢ㄦ埛鐨勫涓葷洰褰?br />OLDPWD        |鐢ㄦ埛浣跨敤鐨勫墠涓涓洰褰?br />PATH          |瑙勫畾bash瀵繪壘鍙墽琛屾枃浠舵椂鎼滅儲鐨勮礬寰?br />PS1           |鍛戒護琛岀幆澧冧腑鏄劇ず絎竴綰ф彁紺虹鍙?br />PS2           |鍛戒護琛岀幆澧冧腑鏄劇ず絎簩綰ф彁紺虹鍙?br />PWD           |鐢ㄦ埛褰撳墠宸ヤ綔鐩綍
SECONDS       |褰撳墠榪愯鐨刡ash榪涚▼鐨勮繍琛屾椂闂?浠ョ涓哄崟浣?

asdtiang 2011-05-23 14:13 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 国产成人精品免费视| 亚洲a∨国产av综合av下载 | 99国产精品免费视频观看| 国产免费一区二区三区免费视频 | 亚洲综合色区中文字幕| 亚洲成人网在线播放| 亚洲乱码一二三四区麻豆| 亚洲一区二区三区亚瑟| 日韩亚洲人成在线| 亚洲精华国产精华精华液网站| 亚洲性色AV日韩在线观看| 亚洲欧美熟妇综合久久久久| 亚洲人成色在线观看| 久久亚洲中文无码咪咪爱| 免费看黄网站在线看| 中文字幕在线免费视频| 两个人看的www免费视频| 久久国产精品2020免费m3u8| 99国产精品免费视频观看| 免费99精品国产自在现线| 在线免费观看毛片网站| 尤物永久免费AV无码网站| 亚洲成A∨人片天堂网无码| 国产亚洲成人久久| 亚洲AV人人澡人人爽人人夜夜| 亚洲精品第五页中文字幕| 最近2022中文字幕免费视频| 成人午夜免费福利视频| 影音先锋在线免费观看| 亚洲av麻豆aⅴ无码电影 | 91精品免费在线观看| 精品免费国产一区二区三区| 亚洲成A人片77777国产| 亚洲精品无码久久千人斩| 亚洲美女中文字幕| 亚洲乱亚洲乱妇无码| 亚洲国产免费综合| 蜜臀AV免费一区二区三区| 小小影视日本动漫观看免费| 国产亚洲老熟女视频| 久久久亚洲AV波多野结衣|