无法在当前目录中提供脚本

Nic*_*rca 9 linux bash sh

显然,source如果该脚本在当前目录中,我就不能使用脚本.例如,

# source some/dir/script.sh
Ok
Run Code Online (Sandbox Code Playgroud)

工作正常,但如果我和脚本在同一个目录中,则会出错:

# cd some/dir
# source script.sh
-sh: source: script.sh: file not found
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?这是改变目录的唯一方法吗?

如果相关,我在Angstrom Linux上使用bash v4.2.10.

Dav*_*rra 16

引用源手册页:

源文件名[参数]

....

如果filename不包含斜杠,则使用PATH中的文件名来查找包含文件名的目录.

所以... source正试图搜索你script.sh所包含的文件夹PATH.

如果要在当前文件夹中使用源文件

source ./script.sh
Run Code Online (Sandbox Code Playgroud)