^DKarakteri (aynı zamanda \04ya da 0x4, İLETİMİ SONU Unicode) için varsayılan değer eofçekirdek uç ya da psödo-terminal sürücü özel bir kontrol karakteri parametresi (daha doğrusu ttyseri veya psödomonasa bağlı hat disiplin tty aygıtı ). Budur c_cc[VEOF]ait termiosTCSETS geçirilen yapısı / TCGETS ioctlsürücü davranışını etkilemek için terminal cihazına bir sorunları.
O gönderir tipik komutu ioctlsolan sttykomut.
Tüm parametreleri almak için:
$ stty -a
hız 38400 baud; sıralar 58; sütunlar 191; çizgi = 0;
intr = ^ C; quit = ^ \; erase = ^ ?; kill = ^ U; eof = ^ D ; eol = <undef>; eol2 = <undef>; SWTCH = <undef>; start = ^ Q; stop = ^ S; süspansiyon = ^ Z; rprnt = ^ R; werase = ^ W; lnext = ^ V; floş = ^ O;
min = 1; süre = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten yankı eko eko eko-eko-eko-hiçbiri -xcase -toptop-eko eko eki eko
Bu eofparametre sadece terminal cihazı icanonmodundayken geçerlidir.
Bu modda, terminal sürücüsü (terminal emülatörü değil) çok basit bir satır düzenleyici uygular Backspace; karakter Ctrl-Usilmek için, tüm satırı silmek için yazabilirsiniz ... Bir uygulama terminal cihazından okuduğunda tuşuna Returnnoktada read()döndürür son dahil olmak üzere tam bir çizgi LFkarakteri (varsayılan olarak, Terminal sürücü ayrıca çevirir CRüzerine senin terminale gönderdiği Returniçin LF).
Şimdiye kadar yazdıklarınızı tuşuna basmadan göndermek istiyorsanız Enter, eofkarakteri girebileceğiniz yer burasıdır . Terminal emülatöründen bu karakteri aldıktan sonra, terminal sürücüsü hattın mevcut içeriğini gönderir , böylece onu yapan uygulama readonu olduğu gibi alır (ve izleyen bir LFkarakter içermez ).
Şimdi, mevcut satır boşsa ve uygulamanın önceden girilmiş satırları tam olarak okuması şartıyla, read0 karakteri geri döndürürse.
Bu , uygulamanın dosyanın sonunu belirtir (bir dosyadan okuduğunuzda okunacak başka bir şey kalmayıncaya kadar okursunuz). Bu yüzden eofkarakter olarak adlandırılır , çünkü onu göndermek uygulamanın daha fazla giriş olmadığını görmesine neden olur.
Şimdi, modern mermiler, istemleri halinde terminali icanonkipte ayarlamıyorlar çünkü dahili hat sürücüsünden çok daha gelişmiş olan kendi satır düzenleyicilerini kullanıyorlar . Bununla birlikte, kendi satır düzenleyicilerinde , kullanıcıların kafasını karıştırmamak için ^Dkaraktere (veya terminalin eofayarlarının ne olduğu ile ilgili) aynı anlamı (belirtmek için eof) verir.