shell腳本語法

shell腳本語法

ID:42725360

大?。?9.00 KB

頁數(shù):11頁

時間:2019-09-21

shell腳本語法_第1頁
shell腳本語法_第2頁
shell腳本語法_第3頁
shell腳本語法_第4頁
shell腳本語法_第5頁
資源描述:

《shell腳本語法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、腳本的后綴還是寫.sh雖然不是必須,但一眼看見易于知曉是腳本?shell簡單的說就是一個命令解釋器,用于用戶和linux內(nèi)核的溝通。shell中所執(zhí)行的命令相當(dāng)于fork出的子進程一樣。建立腳本。#!/bin/bash????符號#!用來告訴系統(tǒng)它后面的參數(shù)是用來執(zhí)行該文件的程序,bash腳本第一句都是這個,他會讓系統(tǒng)指定以bash來解釋這個腳本Xxxx?//腳本內(nèi)容chmod777file之后就可以執(zhí)行了1.基礎(chǔ)    #????????????????//shell腳本注釋符號二:變量1.變量種類:linux下變量

2、類型只有兩種數(shù)字型??和字符串型?2.聲明變量declarevarname聲明一個局部變量varname,也可以一次聲明多個同類型的變量declarevar1var2var3僅創(chuàng)建變量的程序能使用的變量是時局部變量?exportvarname2保留字export使得變量可由環(huán)境存取。即這個變量可以和系統(tǒng)中的其他程序共享。????這里不會?3.變量賦值,引用變量時前面要加"$"將數(shù)值賦給變量,可以不聲明變量直接賦值如letvar=1000*注意:等號兩端不能有空格let后面不加&號???待?比如i++?:?delcare

3、i=1leti=”$i+1"將字符串賦給變量必須先聲明變量,且賦值在同一條語句,賦的值必須用雙引號引起declarevar="100-100-100"echo$varHOME="/home"???????????????//注意賦值不要有空格HOME_LIST=$(ls/home)//把命令的執(zhí)行結(jié)果賦值給變量  ehco$HOME??????????????????//$符號是獲得變量HOME的值系統(tǒng)變量:  $0這個程序的執(zhí)行名字  $n 這個程序的第n個參數(shù)值,n=1...9  $* 這個程序的所有參數(shù)  $#這

4、個程序的參數(shù)個數(shù)  $$這個程序的PID  $!執(zhí)行上一個背景指令的PID$?上一個指令的返回值4環(huán)境變量由export關(guān)鍵字處理過的變量叫做環(huán)境變量。我們不對環(huán)境變量進行討論,因為通常情況下僅僅在登錄腳本中使用環(huán)境變量。三:運算符1.linux有三類運算符:算術(shù)運算符:+-*?/?%邏輯運算符:!&&??

5、

6、比較運算符?算術(shù)運算符:letsum=“$a+$b"注意:等號兩邊沒空格?加號兩邊有空格。且有關(guān)鍵字let?不然sum是字符算100+200的形式。?邏輯運算符:?比較運算符:-eq:等于-ne:不等于-gt:大

7、于-ge?:大于等于-lt:小于-le:小于等于leta=1000letb=400 文件比較運算符  -efilename???????如果filename存在,則為真???????????[-e/var/log/syslog]  -dfilename??????如果filename為目錄,則為真??????[-d/tmp/mydir]  -ffilename???????如果filename為常規(guī)文件,則為真[-f/usr/bin/grep]  -Lfilename???????如果filename為符號鏈接,則為真

8、??[-L/usr/bin/grep]  -rfilename?????????如果filename可讀,則為真?????????????[-r/var/log/syslog]  -wfilename???????如果filename可寫,則為真???????????[-w/var/mytmp.txt]  -xfilename????????如果filename可執(zhí)行,則為真??????????[-L/usr/bin/grep filename1-ntfilename2如果filename1比filename2新,則為

9、真[/tmp/install/etc/services-nt/etc/services]  filename1-otfilename2如果filename1比filename2舊,則為真[/boot/bzImage-otarch/i386/boot/bzImage]  字符串比較運算符(請注意引號的使用,這是防止空格擾亂代碼的好方法)  -zstring??????????????如果string長度為零,則為真?????????[-z"$myvar"]  -nstring?????????????如果string長度

10、非零,則為真??????????????[-n"$myvar"]  string1=string2如果string1與string2相同,則為真["$myvar"="onetwothree"]  string1!=string2如果string1與string2不同,則為真["$myvar"!="onetwothree"]if??

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

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

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