bash shell 指令碼的方法有多種,現在作個小結。假設我們編寫好的shell指令碼的檔名為hello.sh,檔案位置在/data/shell目錄中並已有執行許可權。
方法一:切換到shell指令碼所在的目錄(此時,稱為工作目錄)執行shell指令碼:
cd/data
/shell
./hello
.sh
./的意思是說在當前的工作目錄下執行hello.sh。如果不加上./,bash可能會響應找到不到hello.sh的錯誤資訊。因為目前的工作目錄(/data/shell)可能不在執行程式預設的搜尋路徑之列,也就是說,不在環境變數pash的內容之中。檢視path的內容可用echo $pash命令。現在的/data/shell就不在環境變數pash中的,所以必須加上./才可執行。
方法二:以絕對路徑的方式去執行bash shell指令碼:
/data/shell
/hello
.sh
方法三:直接使用bash 或sh 來執行bash shell指令碼:
cd/data
/shell
bash hello
.sh
或
cd/data
/shell
sh hello
.sh
注意,若是以方法三的方式來執行,那麼,可以不必事先設定shell的執行許可權,甚至都不用寫shell檔案中的第一行(指定bash路徑)。這個shell指令碼必須是bourne shell的script。因為方法三是將hello.sh作為引數傳給sh(bash)命令來執行的。這時不是hello.sh自己來執行,而是被人家呼叫執行,所以不要執行許可權。那麼不用指定bash路徑自然也好理解了啊,呵呵……。
方法四:在當前的shell環境中執行bash shell指令碼:
cd/data
/shell
.hello
.sh
或
cd/data
/shell
source hello
.sh
前三種方法執行shell指令碼時都是在當前shell(稱為父shell)開啟乙個子shell環境,此shell指令碼就在這個子shell環境中執行。shell指令碼執行完後子shell環境隨即關閉,然後又回到父shell中。而方法四則是在當前shell中執行的。
bash shell指令碼執行方法總結
bash shell 指令碼的方法有多種,現在作個小結。假設我們編寫好的shell指令碼的檔名為hello.sh,檔案位置在 data shell目錄中並已有執行許可權。方法一 切換到shell指令碼所在的目錄 此時,稱為工作目錄 執行shell指令碼 cd data shell hello sh....
bash shell指令碼執行的幾種方法
bash shell指令碼執行的幾種方法 假設我們編寫好的shell指令碼的檔名為hello.sh,檔案位置在 data shell目錄中並已有執行許可權。方法一 切換到shell指令碼所在的目錄 此時,稱為工作目錄 執行shell指令碼 cd data shell hello.sh 的意思是說在當...
幾個bash shell指令碼
今天剛學習linux shell程式設計,隨便寫幾個短小的指令碼練練語法,寫了這個才發現,一些命令及引數還是要記住的 例1.這是乙個數 算1 2 3 4 5 bin bash let s 0 p 1 let 表示數 算 while test p le 5 do test命令用於檢查某個條件是否成立,...