Terminalläge

Ett terminalläge är ett av en uppsättning möjliga tillstånd för en terminal eller pseudoterminalteckenenhet i Unix-liknande system och bestämmer hur tecken som skrivs till terminalen tolkas . I kokt läge förbearbetas data innan de ges till ett program, medan råläget skickar data som de är till programmet utan att tolka några av specialtecknen.

Systemet fångar upp specialtecken i kokt läge och tolkar speciell betydelse från dem. Backsteg , delete och Control-D används vanligtvis för att möjliggöra radredigering för indata till de pågående programmen, och andra kontrolltecken som Control-C och Control-Z används för jobbkontroll eller associeras med andra signaler . Den exakta definitionen av vad som utgör ett tillagat läge är operativsystemspecifik .

Till exempel, om "ABC<Backspace>D" ges som en indata till ett program genom en terminal teckenenhet i kokt läge, får programmet "ABD". Men om terminalen är i råläge, får programmet tecknen "ABC" följt av tecknet Backsteg och följt av "D". I kokt läge terminallinjedisciplinen tecknen "ABC<Backsteg>D" och presenterar endast resultatet ("ABD") för programmet.

Tekniskt sett bör termen "tillagat läge" endast associeras med strömmar som har en terminallinjedisciplin, men i allmänhet används det på alla system som gör en viss förbearbetning.

cbreak-läge

cbreak-läge (ibland kallat sällsynt läge ) är ett läge mellan råläge och kokt läge. Till skillnad från kokt läge fungerar det med enstaka tecken åt gången, snarare än att tvinga fram en väntan på en hel rad och sedan mata in raden på en gång. Till skillnad från råläge, bearbetas tangenttryckningar som avbryt (vanligtvis Control-C ) fortfarande av terminalen och kommer att avbryta processen.

Se även

  1. ^ Terminalläge - MIT/GNU Scheme 7.7.90
  2. ^ "Tillagat läge från FOLDOC" .