source腳本
❶ 如何獲得sh或source執行的shell腳本位置
1) 支持從其他目錄執行,如 source xxx/yyy/test.sh
1) 支持 sh 和 source 執行
2) 支持路徑中有空格
3) 支持 zsh 跟 bash
#!/bin/sh
if [ "$0" = "bash" ]; then
cd "$(dirname "$BASH_SOURCE")"
CUR_FILE=$(pwd)/$(basename "$BASH_SOURCE")
CUR_DIR=$(dirname "$CUR_FILE")
cd - > /dev/null
else
echo "$0" | grep -q "$PWD"
if [ $? -eq 0 ]; then
CUR_FILE=$0
else
CUR_FILE=$(pwd)/$0
fi
CUR_DIR=$(dirname "$CUR_FILE")
fi
echo $CUR_DIR
❷ shell中source和sh script的區別
主要區別,source是在當前的shell下運行文件內容,而sh或bash或其他shell+腳本文件,是在新的shell中執行。
可以在腳本文件中只寫上變數賦值,如a=12,來進行驗證:
在最初,echo $a 是空值或其他值,運行sh 腳本名 之後,再echo一下,a的值沒有變,
而使用source 腳本名之後,echo $a 則顯示12,它的值變化了。
source一般用於執行一些配置文件,比如.bashrc等,比如默認可能沒有ll命令,在.bashrc中可以設置alias ll='ls -alF',source運行一下,就不用退出當前shell重新打開 就可以使用ll命令了。
❸ 什麼叫source導入腳本
source命令是bash的內置命令。source通常用於重新執行剛修改的初始化文檔,如 .bashrc .bash_profile .profile 等等。
例如對 .bash_profile 中的TERM變數做了修改,則能夠用source命令重新執行 .bash_profile 中的命令而不用注銷並重新登錄。就是source導入腳本 。
source導入腳本 就可以使系統重新讀取配置文件。如你更改了.bashrc,如不重新登錄的話,變動是不會生效的。但你又不想重新登錄,那怎辦呢???
就可以使用
source .bashrc
所有的改動現在已經生效了。
source命令用法:
source File
在當前bash環境下讀取並執行File中的命令。
❹ linux下的Source命令的基本功能
source命令用法:source FileName
作用:在當前bash環境下讀取並執行FileName中的命令。
註:該命令通常用命令".」來替代。
使用範例:
1、source filename
2、. filename#(中間有空格)
source命令(從 C Shell 而來)是bash shell的內置命令。點命令,就是個點符號,(從Bourne Shell而來)是source的另一名稱。
同樣的,當前腳本中配置的變數也將作為腳本的環境,source(或點)命令通常用於重新執行剛修改的初始化文檔,如 .bash_profile 和 .profile 等等。
例如,假如在登錄後對 .bash_profile 中的 EDITER 和 TERM 變數做了修改,則能夠用source命令重新執行 .bash_profile 中的命令而不用注銷並重新登錄。
比如在一個腳本里export $KKK=111,假如用./a.sh執行該腳本,執行完畢後,運行echo $KKK,發現沒有值,假如用source來執行 ,然後再echo,就會發現KKK=111。
因為調用./a.sh來執行shell是在一個子shell里運行的,所以執行後,結構並沒有反應到父shell里,但是source不同他就是在本shell中執行的,所以能夠看到結果。
source命令(從 C Shell 而來)是bash shell的內置命令。點命令,就是一個點符號,(從Bourne Shell而來)是source的另一名稱。
這兩個命令都以一個腳本為參數,該腳本將作為當前shell的環境執行,即不會啟動一個新的子進程。所有在腳本中設置的變數將成為當前Shell的一部分。
文件建立好之後,以後每次編譯核心,只需要在/usr/src/linux-2.4.20下輸入source make_command就行了。這個文件也完全可以做成腳本,只需稍加改動即可。
shell編程中的命令有時和C語言是一樣的。&&表示與,||表示或。把兩個命令用&&聯接起來,如make mrproper && make menuconfig,表示要第一個命令執行成功才能執行第二個命令。
對執行順序有要求的命令能保證一旦有錯誤發生,下面的命令不會盲目地繼續執行。
❺ shell腳本里的source命令怎麼使用
比如要把另一個shell腳本或者文件調用進來
source other.sh
❻ 用source命令執行腳本和用sh執行腳本之間的區別
source命令執行腳本,意味著在當前shell執行。對當前環境變數的值有影響。 sh命令執行腳本,會在新建shell中執行。不會改變當前環境變數的值。
❼ 用source命令執行腳本和用sh執行腳本之間的區別
source命令執行腳本,意味著在當前shell執行。對當前環境變數的值有影響。
sh命令執行腳本,會在新建shell中執行。不會改變當前環境變數的值。
❽ linux下的source命令的作用是什麼
source是用來執行腳本程序的,也可以使用.來代替。例如你有個腳本文件叫test.sh,你可以這樣運行
source test.sh
或者
. test.sh