執行shell指令碼的方式主要是什麼

時間 2021-08-30 09:30:44

1樓:

在 unix/linux 作業系統下面,執行 shell 指令碼之前,首先必須要使用 chmod 命令把該 shell 檔案設定成具有可執行許可權。然後根據自己當時的具體環境,可以使用絕對路徑、或者是相對路徑的方法來執行 shell 指令碼檔案。關於絕對路徑、以及相對路徑的概念,可以使用以下的例子進行說明:

假如你需要執行的 shell 檔名為:my_shell.run,你把該檔案存放在了你的使用者主目錄 /home/your_username 下面,但是你現在的工作子目錄不在該子目錄下面,而是在系統的根目錄 / 下面,你需要執行該 shell 檔案,那麼你必須使用絕對路徑執行該 shell 檔案:

$/home/your_username/my_shell.run其中: 代表回車鍵。

假如你現在的工作子目錄就在你的 /home/your_username 下面,而你需要執行該 shell 檔案時,那麼你只需要使用相對路徑執行該 shell檔案:

$./my_shell.run

其中:. 代表當前子目錄, 代表回車鍵。

這就是絕對路徑和相對路徑的基本概念。

2樓:匿名使用者

(1)輸入定向到shell指令碼

$ bash < 指令碼名

(2)以指令碼名作為引數

$ bash 指令碼名 〔引數〕

(3)將shell指令碼的許可權設定為可執行,然後在提示符下直接執行它。

$ chmod a+x 指令碼名

$ path=&path:.

$ 指令碼名

shell指令碼的幾種執行方式之區別

3樓:紫夜梟雄

1、bash 指令碼

bai文du件或者 sh 指令碼檔案,通過這種方式可以執行zhi沒有執行權dao限或者在指令碼裡面沒有指內定直譯器的容指令碼;

2、./指令碼檔案或者指令碼檔案全路徑,通過這種方式執行指令碼檔案需要指令碼檔案有執行許可權,並且在指令碼檔案裡面指定了正確的直譯器;

3、source 指令碼檔案或者. 指令碼檔案(.和指令碼檔案之間有空格),這種執行方式是在當前shell下執行,執行後指令碼中定義的變數不會釋放,這也是此種方式執行指令碼與前三種的最大區別。

例如在指令碼中定義了name=gg,那麼在指令碼執行完成之後,echo $name仍會顯示gg

shell指令碼執行命令,如何執行shell指令碼?

編寫好的shell指令碼 如 test 可以採取兩種方式進行執行 一 sh test 一般不採用這種呼叫方式,尤其不採用 sh也可以採用 ksh test 這種方式要求shell具有 可讀 的訪問許可權。二 直接執行可執行的shell指令碼之前,首先應使用下列chmod命令,把shell指令碼檔案設...

如何在shell指令碼中執行cd命令

在工作中,網際網路公司,經常不是直接登入到服務上,而是通過跳板機進行中轉。這樣就會用到cd命令切換目錄。編輯shell檔案 vim switchdir.sh plain view plain copycd opt service mobile kafka 2.10 0.8.1 lizt bin so...

shell指令碼中一段內容執行的時間如果超出10秒則跳出

十秒自動跳出方法很多,shell指令碼一般使用建立新的程序,十秒後殺掉。還有expect控制timeout。其它的像python parl就不屬於bash範疇了。1.設定一個變數,定義一些lftp的配置,比如超時時間 重試次數等 lftp set set dns fatal timeout 5 se...