1.使用./方式
./的意思是說在當前的工作目錄下執行hello.sh。如果不加上./,bash可能會響應找到不到hello.sh的錯誤資訊。因為目前的工作目錄(/tmp)可能不在執行程式預設的搜尋路徑之列,也就是說,不在環境變數pash的內容之中。檢視path的內容可用 echo $pash 命令。現在的/tmp就不在環境變數pash中的,所以必須加上./才可執行。cd /tmp
./hello.sh
2.以絕對路徑方式執行
/tmp/hello.sh
如果以上面兩種種方式執行shell指令碼,需要指令碼本身具備可執行許可權(x)。
3.使用bash或sh方式執行
如果以方法三執行shell指令碼,可以不必事先設定shell的執行許可權,甚至都不用寫shell檔案中的第一行(指定bash路徑)。因為方法三是將hello.sh作為引數傳給sh(bash)命令來執行的。這時不是hello.sh自己來執行,而是被人家呼叫執行,所以不要執行許可權。cd /tmp
bash hello.sh 或 sh hello.sh
4.使用source或者.執行shell指令碼
前三種方法執行shell指令碼時都是在當前shell(稱為父shell)開啟乙個子shell環境,此shell指令碼就在這個子shell環境中執行。shell指令碼執行完後子shell環境隨即關閉,然後又回到父shell中。而方法四則是在當前shell中執行的。cd /tmp
source hello.sh 或者 .hello
.sh
Linux執行shell指令碼的幾種方式
方式一 先進入指令碼所在目錄,使用 執行指令碼 cd data shell 進入shell所在目錄 test.sh 執行shell指令碼 指令碼所在目錄可能不在執行程式預設的搜尋路徑 環境變數path 之列之中,可能會提示找不到要執行的指令碼。加上 代表是在當前目錄下執行該指令碼。使用echo pa...
LINUX shell 下面呼叫指令碼的3種方式
在linux下,通過指令碼執行一些命令,通常需要執行好幾個指令碼共同完成任務,這裡的呼叫有3種方式 這是最常用的方式,直接通過 path xx.sh 就可以啦。task.sh bin shell export home baijiwei run.sh這裡,task.sh本身啟動了乙個程序,假設程序i...
Linux執行SHELL指令碼的幾種方法
1 source 或.命令用法 source filename 或 filename 作用 在當前bash環境下讀取並執行filename中的命令,該filename檔案可以 無執行許可權。如 source bash profile 與 bash profile 兩者等效。source 或點 命令通...