Kullandığınız kabuk için man sh
veya man bash
veya man sayfasını kullanmayı deneyin . (Belki man $SHELL
.)
Bu resmen "nokta" komutu değil, source
komut olarak adlandırılır. Sözcüğü aramak source
yardımcı olabilir.
örneğin, bash man sayfası ("her yerleşik komut" için arama yapın) ve belgeleri hızlı bir şekilde bulacaksınız.
Kullanımı açıklamak için, tam burada bunu yapabilirim. Bunu sadece source
komut olarak kullanacağım, bazı mermiler kullanırken sadece bir döneme kısaltılabileceğini ve bazı mermilerde bu komutun olması gerekebileceğini kabul ediyorum (çünkü nokta algılanabilir, ancak kelimenin tamamı source
olmayabilir. ) olabilir.
source
Komutu kullanırsanız, kabuğunuz komut dosyasındaki her satırı okuyacak ve çalıştırmayı deneyecektir. Dosya üzerinde "okuma" izinlerine ihtiyacınız var. ("Yürütme" izinleriniz olup olmadığı önemli değildir.) Bir değişkeni değiştirirseniz, bu geçerli kabuğunuzu etkilemeye meyillidir.
Öte yandan, dosyayı çalıştırmayı denerseniz, kabuğunuz işletim sisteminden bu isteği yerine getirmesini ister. Bu "yürütme" izinleri gerektirecektir. (OpenBSD gibi bazı sistemlerde, bunun için "okuma" izinlerine ihtiyacınız olmayacak. Birçok Unix varyasyonları dahil olmak üzere diğer sistemlerde, bunu yapmanız gerekecek.) Dosyanın çalışması için uygun bir başlıkla başlaması gerekebilir (örn. #!/bin/sh
). sistem bunu bir komut dosyası olarak tanır. İşletim sistemi istenen kabuğun bir kopyasını çalıştıracak ve o kabuğa betiğin içeriğini çalıştırmasını söyleyecektir. Eğer kabuk ortamı değiştirilirse (örneğin, bir değişken yeni bir değer alırsa, çalışma dizini değiştirilir (ile cd
), bir dosya tanıtıcısı yönlendirilir (ile exec
), vb.) yalnızca komut dosyası için çağrılan alt kabuğu etkiler ve üst kabuktaki ortamı komut dosyası dosyası olarak değiştiremez.