shell命令列環境中shell指令碼執行的方式

2021-06-18 10:18:41 字數 542 閱讀 5489

1、使用shell命令程式執行指令碼

bash hello.sh或sh hello.sh

指定指令碼檔案作為bash命令的引數,bash命令讀取指令碼檔案中的內容並執行,因此不需要指令碼檔案具有可執行的屬性。此種方法通常在指令碼的除錯階段中使用。

2、使用"."命令執行指令碼

在使用bash命令執行指令碼的方法中,是在當前shell中啟動乙個子shell來執行指令碼程式,因此指令碼程式中定義的環境變數只能在子shell中訪問,而無法在使用者的當前shell中訪問。如果需要在當前shell中執行指令碼程式,需要使用"."命令。

當前指令碼不能訪問子指令碼的環境變數,但子指令碼可以訪問當前指令碼的環境變數

. filename 中間有空格;由於指令碼檔名是作為"."命令的引數,所以不需要有可執行許可權。

3、設定執行屬性執行指令碼

當指令碼檔案設定了可執行屬性後,在shell命令列中可以直接通過指令碼檔名執行指令碼。

對於所有使用者編寫的指令碼,如果沒有將指令碼檔案儲存在命令搜尋路徑中,一定需要使用相對路徑或絕對路徑表示需要執行的指令碼檔名稱。

Shell命令列操作

me linuxidc 如果最後乙個字元是 表示當前終端會話有超級使用者許可權。使用root使用者登入或者使用能提供超級使用者許可權的終端能獲得該許可權。提示符由名為ps1 prompt string 1 的環境變數定義。自動補齊可以應用於路徑名 變數 以 開頭的單詞 使用者名稱 以 開頭 命令 單...

shell命令列 雜記

echo命令輸入命令列密碼 echo passwd sudo s 命令 echo命令向需要root許可權的檔案追加內容 sudo bash c echo home makefile etc ld.so.conf make f makefile1 編譯指定makefile檔案 make n makef...

關於shell命令列

shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言。其中bash一般為linux預設的shell命令列 約定的標記告訴系統這個指令碼需要什麼直譯器來執行 eg.1 bin bash echo hello world eg.2 ...