"<<" ve "<< -" yönlendirme işleçlerinin her ikisi de, "burada belge" olarak bilinen kabuk girdi dosyasında bulunan satırların komut girişine yeniden yönlendirilmesine izin verir.
Bu belgede, bir sonrakinden sonra başlayan ve aralarında hiçbir karakter bulunmayan, sadece sınırlayıcı ve a'yı içeren bir çizgi olana kadar devam eden tek bir kelime olarak ele alınacaktır. Sonra bir sonraki belge başlar, eğer varsa. Biçim aşağıdaki gibidir:
[n]<<word
here-document
delimiter
burada isteğe bağlı n, dosya tanımlayıcı numarasını temsil eder. Numara atlanırsa, buradaki belge standart girdiyi ifade eder (dosya tanımlayıcı 0).
Sözcükteki herhangi bir karakterden alıntı yapılırsa, ayırıcı sözcük üzerinde tırnak işareti kaldırılarak oluşturulur ve buradaki belge satırları genişletilmez. Aksi takdirde, sınırlayıcı kelimenin kendisi olacaktır.
Sözcükteki hiçbir karakter tırnak içine alınmazsa, bu belgedeki tüm satırlar parametre genişletme, komut değiştirme ve aritmetik genişletme için genişletilmelidir. Bu durumda, giriş içindeki iç çift tırnaklar gibi davranır (bkz. Çift Tırnaklar). Ancak, çift tırnak işareti ('"'), çift tırnak işareti" $ () "," `` "veya" $ {} "içinde yer alması haricinde, bu belgede özel olarak ele alınmayacaktır.
Yeniden yönlendirme sembolü "<< -" ise, tüm önde gelen <tab>
karakterler giriş satırlarından ve sondaki sınırlayıcıyı içeren satırdan çıkarılır. Bir satırda birden fazla "<<" veya "<< -" operatörü belirtilirse, ilk operatörle ilişkilendirilmiş olan bu doküman ilk olarak uygulama tarafından sağlanacak ve önce kabuk tarafından okunacaktır.
Burada bir belge bir terminal cihazından okunduğunda ve kabuk etkileşimli olduğunda, kabuk değişkenleri tanınana kadar her girdi satırını okumadan önce Kabuk Değişkenleri'nde açıklandığı gibi işlenen PS2 değişkeninin içeriğini standart hataya yazmalıdır.
Bazı örnekler henüz verilmemiştir.
cat
. Deneyinpsql ... << EOF ...
da "Burada dizeleri" See. mywiki.wooledge.org/BashGuide/InputAndOutput?#Here_Strings