2013-02-15 1 views
8

Так что, видимо, я не могу source сценарий, если этот скрипт находится в текущем каталоге. Например,не может использовать сценарий источника в текущем каталоге

# source some/dir/script.sh 
Ok 

работает отлично, но если я нахожусь в той же директории, как сценарий, он ошибки из:

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

Что это дает? Единственный способ изменить каталог?

Я использую bash v4.2.10 на Angstrom Linux, если это необходимо.

ответ

12

Цитируя страницу источник: человек

источник имя_файла [аргументы]

....

Если имя файла не содержит слэш, файл имена в PATH используются для поиска каталог, содержащий файл- имя.

Итак ... source пытается искать Ваш script.sh в папках, содержащихся в PATH.

Если вы хотите источник файла в текущей папке используйте

source ./script.sh 
1

Использовать абсолютный путь - source /root/path/to/some/dir/script.sh - должен сортировать вас.