2013-02-15 99 views
8

顯然,如果該腳本位於當前目錄中,我不能source腳本。例如,無法在當前目錄中獲取腳本

# source some/dir/script.sh 
Ok 

工作正常,但如果我在同一目錄作爲我的腳本,它的錯誤了:

# cd some/dir 
# source script.sh 
-sh: source: script.sh: file not found 

是怎麼回事?是唯一的方法來改變目錄?

我在Angstrom Linux上使用bash v4.2.10,如果這是相關的。

回答

12

引用源手冊頁:

源文件名[參數]

....

如果文件名不包含斜槓,文件 名稱在PATH用於查找該目錄包含文件 名稱。

所以... source正試圖在搜索中包含PATH的文件夾中的script.sh

如果你想源文件在當前文件夾用

source ./script.sh 
1

使用絕對路徑 - source /root/path/to/some/dir/script.sh - 應該對您進行排序。