“Kaynak” ile “.” arasındaki fark nedir?

136

Bash’te source /some/script ve . /some/script ile bir komut dosyasını (ör. / some / script) yürütme arasındaki fark nedir?

    
sordu binW 09.02.2011 18:18

2 cevap

123

source ve . , Bash içinde eşanlamlıdır.

Komutların basitçe eş anlamlı olduğunu ve başka bir şey olmadığını doğrulamak isteyen herkes için kaynak koduna , 4.3 sürümü için deyin ve dosyayı inceleyin builtins/source.def . Yerleşik komutların her ikisini de okuyacaksınız, source ve . , aynı işlevi kullanın: source_builtin .

    
verilen cevap user8290 09.02.2011 18:26
41

. , bash'ta source ile eş anlamlı, ancak POSIX'te değil, bu yüzden betiğiniz çalışırsa . / bin / sh komutunu kullanmalısınız. Bash'ın, / bin / sh olarak adlandırıldığında POSIX sh gibi çalıştığını, ancak şikayette bulunmaksızın source değerini kabul ettiğini unutmayın.

Bu davranış beni ısırdı, örneğin kül altında çalıştırıldığında / bin / sh başarısız olarak bash ile test edilen betikler.

    
verilen cevap jjg 09.02.2011 21:42

Etiketlerdeki diğer soruları oku