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