2013-02-15 32 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 - 应该对您进行排序。