100個必會的shell腳本 執(zhí)行Shell腳本的4種方法及區(qū)別介紹?
執(zhí)行Shell腳本的4種方法及區(qū)別介紹?1. Bash腳本文件或sh腳本文件,這樣就可以在沒有執(zhí)行權(quán)限或腳本中沒有指定解釋器的情況下運行腳本;2。/腳本文件或腳本文件的完整路徑,這樣,腳本文件需要執(zhí)行
執(zhí)行Shell腳本的4種方法及區(qū)別介紹?
1. Bash腳本文件或sh腳本文件,這樣就可以在沒有執(zhí)行權(quán)限或腳本中沒有指定解釋器的情況下運行腳本;
2。/腳本文件或腳本文件的完整路徑,這樣,腳本文件需要執(zhí)行權(quán)限,并且在腳本文件中指定了正確的解釋器;
3。源腳本文件或。腳本文件(。腳本文件之間有空格)。這種運行方式是在當(dāng)前shell下運行,腳本中定義的變量在運行后不會被釋放。這是這種運行腳本的方式與前三種方式的最大區(qū)別。例如,如果腳本中定義了name=GG,則echo$name在腳本完成后仍將顯示GG
這非常簡單。crontab命令很容易實現(xiàn)。讓我簡單介紹一下操作過程:
如何讓shell腳本每天定時執(zhí)行?
準(zhǔn)備好的shell腳本(如:Test)可以通過兩種方式運行:第一,$sh Test通常不使用此方法,特別是“sh< Test”,因為此方法會阻止shell讀取標(biāo)準(zhǔn)輸入。還可以使用$KSH test,這要求shell具有“可讀”訪問權(quán)限。2、 在直接運行可執(zhí)行shell腳本之前,應(yīng)該首先使用以下Chmod命令將shell腳本文件設(shè)置為可執(zhí)行文件。Chmod 755 test(除文件所有者可以寫入外,每個用戶都有讀取和可執(zhí)行的訪問權(quán)限)Chmod RX test(如上)Chmod u RX test(只有文件所有者有讀取和執(zhí)行的訪問權(quán)限)在根據(jù)上述要求設(shè)置shell腳本文件的訪問權(quán)限后,可以使用以下方法直接運行shell腳本。1測試(如果命令搜索路徑包含當(dāng)前目錄)2。/test(如果命令縮減路徑不包含當(dāng)前目錄)*注意:在SH test模式下調(diào)用shell可能會禁止某些特定于shell的擴展函數(shù),這可能會導(dǎo)致腳本無法正確執(zhí)行。
shell腳本怎么執(zhí)行?
方法1:切換到shell腳本所在的目錄(此時稱為目錄),執(zhí)行shell腳本:代碼如下:CD/data/shell/你好。噓/表示在當(dāng)前目錄中執(zhí)行你好。噓. 如果你不加。/,bash可能會回應(yīng)找不到它你好。噓我的錯。因為當(dāng)前目錄(/data/shell)可能不在可執(zhí)行程序的默認搜索路徑中,也就是說,它不在環(huán)境變量pass的內(nèi)容中。要查看path的內(nèi)容,可以使用echo$pass命令。current/data/shell不在環(huán)境變量pass中,因此。/必須先添加才能執(zhí)行。方法2:以絕對路徑執(zhí)行bash shell腳本:代碼如下:data/shell/你好。噓方法3:直接使用bash或sh執(zhí)行bash shell腳本:代碼如下:CD/data/shellbash你好。噓或者代碼如下:CD/data/shellsh你好。噓注意,如果在方法3中執(zhí)行,您不需要預(yù)先設(shè)置shell的執(zhí)行權(quán)限,甚至不需要在shell中寫入第一行(指定bash路徑)。因為第三種方法是你好。噓它作為參數(shù)傳遞給sh(bash)命令執(zhí)行?,F(xiàn)在不行你好。噓您可以自己執(zhí)行,但是它被其他人調(diào)用,所以不要執(zhí)行權(quán)限。所以不需要指定bash路徑。當(dāng)然,這很容易理解。方法4:在當(dāng)前shell環(huán)境中執(zhí)行bash shell腳本:代碼如下:CD/data/shell你好。噓或者代碼如下:CD/data/shellsource你好。噓前三種shell腳本在當(dāng)前shell中啟動子shell環(huán)境(稱為父shell),shell腳本在這個子shell環(huán)境中執(zhí)行。執(zhí)行shell腳本后,關(guān)閉子shell環(huán)境,然后返回父shell。方法4在當(dāng)前shell中執(zhí)行。
如何在shell腳本中執(zhí)行系統(tǒng)命令?
1. 直接使用shell命令執(zhí)行腳本,例如:shscriptfile name;kshsscriptfilename。這個方法可以在命令后通過不同的選項進行調(diào)試。2向腳本授予可執(zhí)行權(quán)限:Chmod xscript file name,輸入。/腳本所在目錄中的腳本文件名