Aynı şeyi yapmaları için bash'ta eşdeğerdirler. Öte yandan, source
5 karakter daha uzun ve POSIX-sadece kabukları veya Bourne için taşınabilir değil, oysa .
(nokta), bu yüzden kullanmayı hiç rahatsız etmedim source
.
Bu doğru - bir dosyayı almak komutları geçerli kabukta çalıştırır ve mevcut kabuk ortamınızı etkiler. Argümanları kaynak dosyaya aktarmaya devam edebilirsiniz ve $PATH
eğik çizgi içermiyorsa, bash dosya adını normal bir komut gibi arayacaktır .
Asıl soru .
vs ile ilgili değil source
, ama örneğinde,
. ./myScript.sh
aynı değil
source myScript.sh
çünkü .
ve source
fonksiyonel olarak aynıdır myScript.sh
ve ./myScript.sh
aynı değildir. Yana ./myScript.sh
bir bölü, bir yol olarak yorumlanır ve adil kullanımları kabuk ediyor ./myScript.sh
. Ancak, myScript.sh
bir eğik çizgi bulunmadığından kabuk $PATH
önce onu arar. Bu POSIX için belirtilen standart davranıştır .
. Çoğu kabuk, varsayılan olarak (yol aramasından sonra geçerli çalışma dizininde arama yapmak gibi) uzantılar ekleyebilir veya .
/ ' nin davranışını değiştirmek için seçenekler ekleyebilir source
.