shell腳本的4種執行方式shell
shell腳本的幾種執行方式bash
l fork:直接使用絕對路徑來執行腳本,這種方式會啓動一個子shell來執行腳本。ide
l source filename:在當前shell環境下,讀取並執行filename中的命令。注:該命令可用命令「.」來替代,如:source .bash_rc 與 . .bash_rc 是等效的。spa
l exec 絕對路徑:exec使用shell腳本的絕對路徑在當前shell(shell會被重置到初始環境)下執行腳本,腳本執行完後會退出該shell。調試
l ./script啓動一個子shell來執行腳本。ip
l sh|bash filename啓動一個子shell讀取並執行filename中的命令。ci
ü 子shell的變量結果不會被帶回父shell,因此要想經過腳本設置當前shell的環境變量時,要用source命令。it
shell腳本執行方式table |
是否須要執行權限class |
緣由 |
exec |
須要執行權限 |
由腳本主動調用shell來執行命令 |
fork或./ |
||
source或. |
無需執行權限 |
由shell主動讀取腳本並執行 |
bash或sh |
使用sh命令執行一個腳本時,可使用-x參數查看這個腳本的執行過程,在進行腳本調試時,有利於發現問題。
# sh -x first.sh
+ date
Fri Jan 822:28:23 CST 2016
+ echo 'Hello world!'
Hello world!