1 給指令碼加上執行許可權chmod u+x a.sh, 而後就可以直接用全路徑來執行指令碼了,比如當前資料夾下用./a.sh, 如果指令碼所在目錄在path環境變數之中, 則直接用a.sh即可
2 sh/bash a.sh的路徑,這種情況不需要指令碼具有執行許可權.
以上兩種情況中,指令碼中$0都是a.sh,都是在shell的子程序中執行的.
3 source a.sh的路徑
4 . a.sh的路徑
以 上兩種情況都是指令碼在當前shell的程序中執行,所以$0都是bash/sh, 區別在於, source不是posix shell的內建命令,所以3在sh中實際上是不能執行的,在bash中可以. 而.則無論在bash還是posix shell中都是可以用來載入並執行指令碼. 所以, 相對而言, 應該是4 更加具有移植性.
shell 執行指令碼的幾種方式
最近在linux下使用shell的時候,碰到一些問題,最後將shell執行指令碼的方式總結如下 1 點號 指令碼的路徑 test.sh 當前使用者需要對 test.sh有執行許可權 即x許可權 指令碼執行環境在子shell中,子shell執行完指令碼後將結果返回。2 sh 空格 指令碼的路徑 或者 ...
Linux執行shell指令碼的幾種方式
方式一 先進入指令碼所在目錄,使用 執行指令碼 cd data shell 進入shell所在目錄 test.sh 執行shell指令碼 指令碼所在目錄可能不在執行程式預設的搜尋路徑 環境變數path 之列之中,可能會提示找不到要執行的指令碼。加上 代表是在當前目錄下執行該指令碼。使用echo pa...
shell指令碼執行方式
echo輸出命令 echo 選項 輸出內容 選項 e 支援反斜線控制的字元轉換 shell指令碼 指令碼都以.sh結束,指令碼第一行 bin bash 以hello.sh簡單指令碼為例 指令碼執行有兩種方法 這裡出現了no such file or directory 原因是格式不匹配,解決方案 d...