shell中的source和直接執行sh的區別

lonecloud發表於2018-05-21

首先我們知道我們執行shell有這麼幾種方法

1. sh/bash使用其內建的命令集來執行一些命令,例如如下

sh demo.sh
bash demo.sh

 2. 使用./或者/$SHELLPATH/*.sh的方式執行

./demo.sh
/home/vagrant/shell/test.sh

 採用上面的方法的話需要將該方法設定為有執行許可權才能執行

3. 採用source shell.sh或者. shell.sh方法執行

source demo.sh
. demo.sh

 這三種方法的區別

1.檔案許可權:第二種執行方法需要檔案有x許可權才能執行,其餘方法不需要

2. 變數有效期:採用第三種方法執行檔案,可以使得變數的有效期增長,使得其能在該使用者下變數有效

相關文章