2013-02-15 34 views
8

Vì vậy, rõ ràng, tôi không thể source một tập lệnh nếu tập lệnh đó nằm trong thư mục hiện tại. Ví dụ,không thể mã nguồn trong một thư mục hiện tại

# source some/dir/script.sh 
Ok 

hoạt động tốt, nhưng nếu anh ở cùng một thư mục như kịch bản, nó lỗi ra:

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

gì cho? Là cách duy nhất xung quanh này để thay đổi thư mục?

Tôi đang sử dụng bash v4.2.10 trên Angstrom Linux nếu có liên quan.

Trả lời

12

Trích dẫn trang nguồn người đàn ông:

nguồn filename [luận]

....

Nếu tên tập tin không chứa một dấu gạch chéo, nộp tên trong PATH được sử dụng để tìm thư mục chứa tên- tên.

Vậy ... source đang cố gắng tìm kiếm script.sh của bạn trong các thư mục chứa trong PATH.

Nếu bạn muốn nguồn một tập tin trong thư mục hiện hành sử dụng

source ./script.sh 
1

Sử dụng đường dẫn tuyệt đối - source /root/path/to/some/dir/script.sh - nên sắp xếp bạn.

Các vấn đề liên quan