在當(dāng)前Shell環(huán)境中從指定文件讀取和執(zhí)行命令。
source filename [arguments]
filename:要執(zhí)行的文件
arguments(可選):傳遞給文件的參數(shù)
source返回文件最后一個命令的返回值,如果文件不能讀取則會失敗
文件在$PATH
中找不到。
文件未給出。
在一些工具的執(zhí)行過程中,會把環(huán)境變量設(shè)置以"export XXX=XXXXXX"或"declare XXX=XXXXXX"的形式導(dǎo)出到 一個文件中,然后用source加載該文件內(nèi)容到執(zhí)行環(huán)境中。
讀取和執(zhí)行/root/.bash_profile文件。
[root@localhost ~]# source ~/.bash_profile
Q:source
和sh
在執(zhí)行文件方面有什么區(qū)別?
A:sh
的執(zhí)行是在子shell中,source
會使得被執(zhí)行文件的變量及函數(shù)加載進(jìn)當(dāng)前終端環(huán)境內(nèi)(除去函數(shù)內(nèi)local修飾的變量等);建議您參考export
命令的 知識點 部分
help
命令。