2013-02-15 30 views
8

Görünüşe göre, o komut dizesi geçerli dizinde bulunuyorsa bir komut dosyası source yapamıyorum. Örneğin,Geçerli dizinde komut dosyası oluşturamıyor

# source some/dir/script.sh 
Ok 

çalışıyor ama senaryo aynı Dir, bu hataları olmadığımı:

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

verir? Dizin değiştirmenin tek yolu bu mu?

Angstrom Linux'ta bash v4.2.10 kullanıyorum, bu uygunsa.

cevap

12

man sayfasını alıntı:

kaynak dosya adı [argümanlar]

....

dosya adı eğik çizgi içermiyorsa, PATH bulmak için kullanılır dosya adları dosya- adını içeren dizin.

So ... sourcePATH bulunan klasörlerde senin script.sh aramak çalışıyor.

kullandığınız geçerli klasördeki bir dosyayı kaynak istiyorsanız

source ./script.sh 
1

Mutlak bir yol kullanın - source /root/path/to/some/dir/script.sh - sizi sıralamalıdır.