以上兩種執行方式都是在子shell中執行的,也就是說(shuō)當前shell需要啟動(dòng)另外一個(gè)shell,用來(lái)執行a.sh內的命令
以上兩種執行方式是在當前shell下執行,并不需要建立子shell
source和 . 命令的作用:用來(lái)執行一個(gè)腳本
前兩種方式和后兩種方式的另外區別:如果你在一個(gè)腳本里export $KKK=111 ,如果你用./a.sh執行該腳本,執行完畢后,你運行echo $KKK ,發(fā)現沒(méi)有值,如果你用source來(lái)執行 ,然后再echo,就會(huì )發(fā)現KKK=111。因為調用./a.sh來(lái)執行shell是在一個(gè)子shell里運行的,所以執行后,結構并沒(méi)有反應到父shell里,但是source不同它就是在本shell中執行的,所以可以看到結果。
聯(lián)系客服