資源描述:
《Linux bash shell腳本語法入門.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、1.基礎(chǔ) #!/bin/bash//bash腳本第一句都是這個,他會讓系統(tǒng)指定以bash來解釋這個腳本 #//shell腳本注釋符號 2.變量和使用 HOME="/home"http://注意賦值不要有空格 a=123 HOME_LIST=$(ls/home)//把命令的執(zhí)行結(jié)果賦值給變量 ehco$HOME//$符號是獲得變量HOME的值 a=a+1 系統(tǒng)變量: $0這個程序的執(zhí)行名字 $n 這個程序的第n個參數(shù)值,n=1...9 $* 這個程序的所有參數(shù) $#這個程序的參數(shù)個數(shù) $$這個程序的PID $!執(zhí)行上一個背景指令的PID $?上一個指令的返回值 3.
2、if語句 if["22"-lt"33"]then//注意空格 echo"22lessthan33" else echo"no" fi//if語句的結(jié)束 4.case語句 echo"enteranumber" readans//讀取一個變量read case$ansin 1) echo"younumeris$ans" ;;//注意符號是兩個; 2) echo"younumberis2" ;; [3-9]) echo"younumberis$ans" ;; *)//*通配符 echo"others" esac 5.比較運算符 運算符描述示例 文
3、件比較運算符 -efilename如果filename存在,則為真[-e/var/log/syslog] -dfilename如果filename為目錄,則為真[-d/tmp/mydir] -ffilename如果filename為常規(guī)文件,則為真[-f/usr/bin/grep] -Lfilename如果filename為符號鏈接,則為真[-L/usr/bin/grep] -rfilename如果filename可讀,則為真[-r/var/log/syslog] -wfilename如果filename可寫,則為真[-w/var/mytmp.txt] -xfilename
4、如果filename可執(zhí)行,則為真[-L/usr/bin/grep] filename1-ntfilename2如果filename1比filename2新,則為真[/tmp/install/etc/services-nt/etc/services] filename1-otfilename2如果filename1比filename2舊,則為真[/boot/bzImage-otarch/i386/boot/bzImage] 字符串比較運算符(請注意引號的使用,這是防止空格擾亂代碼的好方法) -zstring如果string長度為零,則為真[-z"$myvar"] -nstrin
5、g如果string長度非零,則為真[-n"$myvar"] string1=string2如果string1與string2相同,則為真["$myvar"="onetwothree"] string1!=string2如果string1與string2不同,則為真["$myvar"!="onetwothree"] 算術(shù)比較運算符 num1-eqnum2等于[3-eq$mynum] num1-nenum2不等于[3-ne$mynum] num1-ltnum2小于[3-lt$mynum] num1-lenum2小于或等于[3-le$mynum] num1-gtnum2大于[3
6、-gt$mynum] num1-genum2大于或等于[3-ge$mynum] 6.bash中幾種循環(huán) 6.1.forname[inword];dolist;done 6.2.for((expr1;expr2;expr3));dolist;done//注意有2層括號 6.3while[expr]dolist;done 其中l(wèi)ist簡單說就是一串由操作符(operator;、&、&&、
7、
8、) 分各給出一個簡單例子: 1. forfilenamein$(ls) do cat$filename done 2. for((i=0;i<10;i++)) do ech
9、o$i done 3. x=1 sum=0 while[$x-le10]//注意[]兩邊的空格 do letsum=sum+$x//shell中算術(shù)計算使用let letx=x+1 done echo$sum