^D
Karakteri (aynı zamanda \04
ya 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 tty
seri veya psödomonasa bağlı hat disiplin tty aygıtı ). Budur c_cc[VEOF]
ait termios
TCSETS geçirilen yapısı / TCGETS ioctl
sürücü davranışını etkilemek için terminal cihazına bir sorunları.
O gönderir tipik komutu ioctls
olan stty
komut.
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 eof
parametre sadece terminal cihazı icanon
modundayken 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 LF
karakteri (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, eof
karakteri 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 read
onu olduğu gibi alır (ve izleyen bir LF
karakter içermez ).
Şimdi, mevcut satır boşsa ve uygulamanın önceden girilmiş satırları tam olarak okuması şartıyla, read
0 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 eof
karakter 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 icanon
kipte 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 ^D
karaktere (veya terminalin eof
ayarlarının ne olduğu ile ilgili) aynı anlamı (belirtmek için eof
) verir.