2012-07-24 57 views
1

我正在運行linux 2.6。在bash shell中,我想要提供一個文件。如果我在當前目錄作爲源文件,然後我可以做如何捕獲源代碼後的命令行參數

source abc.sh 

但是如果我在其他文件夾,我就這麼

source /path-to/abc.sh 

我想捕捉無論是類型化在腳本命令行中的命令源之後,例如,我想訪問「abc.sh」,在後一種情況下,我想訪問abc.sh中的「/path-to/abc.sh」

謝謝

回答

4

您正在尋找包含當前正在處理的腳本的$BASH_SOURCE變量。

例如,如果/tmp/a.sh是:

echo $BASH_SOURCE 

然後:

$ cd /tmp 
$ . a.sh 
a.sh 
$ . /tmp/a.sh 
/tmp/a.sh 
$ . ../tmp/a.sh 
../tmp/a.sh 

你可以找到更多關於它的info bash