1.使用./方式
cd /tmp
./hello.sh
./的意思是說在當前的工作目錄下執行hello.sh。如果不加上./,bash可能會響應找到不到hello.sh的錯誤資訊。因為目前的工作目錄(/tmp)可能不在執行程式預設的搜尋路徑之列,也就是說,不在環境變數pash的內容之中。檢視path的內容可用 echo $pash 命令。現在的/tmp就不在環境變數pash中的,所以必須加上./才可執行。
2.以絕對路徑方式執行
/tmp/hello.sh
如果以上面兩種種方式執行shell指令碼,需要指令碼本身具備可執行許可權(x)。
3.使用bash或sh方式執行
cd /tmp
bash hello.sh 或 sh hello.sh
如果以方法三執行shell指令碼,可以不必事先設定shell的執行許可權,甚至都不用寫shell檔案中的第一行(指定bash路徑)。因為方法三是將hello.sh作為引數傳給sh(bash)命令來執行的。這時不是hello.sh自己來執行,而是被人家呼叫執行,所以不要執行許可權。
4.使用source或者.執行shell指令碼
cd /tmp
source hello.sh 或者 .hello
.sh
前三種方法執行shell指令碼時都是在當前shell(稱為父shell)開啟乙個子shell環境,此shell指令碼就在這個子shell環境中執行。shell指令碼執行完後子shell環境隨即關閉,然後又回到父shell中。而方法四則是在當前shell中執行的。 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 或點 命令通...