ubuntu下source、sh、bash、./執行腳本的區別
1.source命令用法:
source FileName
作用:在當前bash環境下讀取并執行FileName中的命令。該filename文件可以無"執行權限"
注:該命令通常用命令“.”來替代。
如:source .bash_profile
. .bash_profile兩者等效。
source(或點)命令通常用于重新執行剛修改的初始化文檔。
source命令(從 C Shell 而來)是bash shell的內置命令。
點命令,就是個點符號,(從Bourne Shell而來)。
source的程序主體是bash,腳本中的$0變量的值是bash,而且由于作用于當前bash環境,腳本中set的變量將直接起效
2 sh, bash的命令用法:
sh/bash FileName
作用:打開一個子shell來讀取并執行FileName中命令。該filename文件可以無"執行權限"
注:運行一個shell腳本時會啟動另一個命令解釋器.
每個shell腳本有效地運行在父shell(parent shell)的一個子進程里.
這個父shell是指在一個控制終端或在一個xterm窗口中給你命令指示符的進程.
shell腳本也可以啟動他自已的子進程.
這些子shell(即子進程)使腳本并行地,有效率地地同時運行腳本內的多個子任務.
在ubuntu中sh只是bash的一個鏈接。
由于是在子shell中執行,腳本設置的變量不會影響當前shell。
3、./的命令用法:
./FileName
作用:打開一個子shell來讀取并執行FileName中命令。該filename文件需要"執行權限"
注:運行一個shell腳本時會啟動另一個命令解釋器.
每個shell腳本有效地運行在父shell(parent shell)的一個子進程里.
這個父shell是指在一個控制終端或在一個xterm窗口中給你命令指示符的進程.
shell腳本也可以啟動他自已的子進程.
這些子shell(即子進程)使腳本并行地,有效率地地同時運行腳本內的多個子任務.
由于是在子shell中執行,腳本設置的變量不會影響當前shell。
新聞熱點
疑難解答