1. 程式人生 > >ubuntu中source,sh/bash,./的區別

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的一個連結
【ls -l /bin/sh 結果顯示/bin/sh -> dash】。  
    由於是在子shell中執行,指令碼設定的變數不會影響當前shell。
3、./的命令用法:
     ./FileName
     作用:開啟一個子shell來讀取並執行FileName中命令。該filename檔案需要"執行許可權"【chmod +x fileName 新增執行許可權】
     注:執行一個shell指令碼時會啟動另一個命令直譯器.
         每個shell指令碼有效地執行在父shell(parent shell)的一個子程序裡.