read(1p)
NAMN
read — läs från standard in till skalsvariabler
SYNOPSIS
read [-r] var...
BESKRIVNING
Kommandot read läser en logisk rad från standard in och placerar den i en eller flera skalvariabler.
Som standard, om inte flaggan -r används, tolkas omvänt snedstreck (\) som escape-tecken. Ett omvänt snedstreck före tecken (utom nyrad) behåller tecknets bokstavliga värde. Före nyrad används det för radfortsättning. Dessa tas bort innan fältuppdelning görs. Övriga omärkta \ tas bort efter fältuppdelning.
Om standard in är en terminal och skalet är interaktivt visas prompt för fortsättningsrad vid rad som slutar med \. Nyrad, såvida inte flaggan -r används.
Den avslutande nyraden (om någon) tas bort. Sedan delas innehållet upp i fält enligt skalets regler (fältseparering). Första fältet går till första variabeln, nästa till nästa, osv. Om färre fält än variabler anges sätts resterande variabler till tom sträng. Om fler fält än variabler finns placeras resterande i sista variabeln, inklusive avgränsare, förutom att avslutande IFS-mellanrum ignoreras.
Variabler som anges påverkar det aktuella skalmiljön. Om read körs i subshell eller separat miljö påverkas inte anropsskalets variabler.
FLAGGOR
| Flagga | Beskrivning |
|---|---|
| -r | Tolka inte \ som escape-tecken, behåll dem som indata. |
OPERANDER
| Operand | Beskrivning |
|---|---|
| var | Namn på en existerande eller ny skalvariabel. |
STDIN
Standard in ska vara en textfil.
INPUT FILER
Inga.
MILJÖVARIABLER
| Variabel | Påverkan |
|---|---|
| IFS | Anger fältavskiljare för uppdelning. |
| LANG | Standardvärde för internationaliseringsvariabler om de inte är satta. |
| LC_ALL | Överskuggar alla andra internationaliseringsvariabler om satt. |
| LC_CTYPE | Styr teckentolkning (enbyte vs flerbyte). |
| LC_MESSAGES | Lokal för diagnostiska meddelanden. |
| NLSPATH | Plats för meddelandekataloger (för LC_MESSAGES). |
| PS2 | Promptsträng som visas vid fortsättningsrad när \ nyrad lästs och flaggan -r inte används. |
ASYNKRONA HÄNDELSER
Standard.
STDOUT
Ej använd.
STDERR
Används för diagnostiska meddelanden och prompts.
OUTPUT FILER
Inga.
UTFÖRLIG BESKRIVNING
Ingen.
AVSLUTNINGSSTATUS
| Kod | Beskrivning |
|---|---|
| 0 | Lyckad körning. |
| >0 | Slut på fil eller fel inträffade. |
FELKONSEKVENSER
Standard.
Följande sektioner är informativa.
ANVÄNDNING
Flaggan -r finns för att ersätta det äldre kommandot line som inte ingår i POSIX.1-2008.
EXEMPEL
while read -r xx yy
do
printf "%s %s\n$yy$xx"
done < input_file
Flyttar första fältet på varje rad till slutet.
RATIONALE
read har historiskt varit en skal-inbyggd. Den separerades som egen för bättre beskrivning i POSIX. Eftersom den påverkar aktuell skalmiljö är det i praktiken alltid en inbyggd. Körs den i subshell påverkas inte variabler i anropsskalet.
Notera att om sista raden i indata slutar med \ nyrad, kan texten inte avslutas med nyrad efter fortsättningsbearbetning, även om standard in är en textfil.
FRAMTIDA RIKTNINGAR
Inga.
SE ÄVEN
Chapter 2 Shell Command Language, chmod(1p)
POSIX.1-2017, Kapitel 8, Miljövariabler, Sektion 12.2, Riktlinjer för kommandosyntax.
COPYRIGHT
Delar av denna text återges från IEEE Std 1003.1-2017, The Open Group Base Specifications Issue 7, 2018 Edition. Copyright (C) 2018 IEEE och The Open Group.
Sidslut
Orginalhemsidan på Engelska : https://www.man7.org/linux/man-pages/man1/read.1p.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.