Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Shell – Standard-Eingabe und -Ausgabe (read&echo)

Shell – Standard-Eingabe und -Ausgabe (read&echo)

巴扎黑
巴扎黑Original
2017-07-18 10:28:171858Durchsuche

Eingabe lesen:

Zweck:

Lesen Sie eine Zeile aus der Standardeingabe oder lesen Sie eine Zeile aus dem Dateideskriptor FD (Dateideskriptor) und wird Es ist in Felder unterteilt.

Verwendung:

 read [-ers] [-a array] [-d delimiter] [-i buffer text] [ -n Anzahl der gelesenen Zeichen] [-N Anzahl der gelesenen Zeichen] [-p Eingabeaufforderung] [-t Zeitüberschreitung] [-u Dateideskriptor] [Name...]

Allgemeine Optionen:

-a:(arrary) Teilen Sie die gelesenen Zeichen in Wörter auf und speichern Sie sie in Arrays (beginnend bei 0)


#!/bin/ -  ${variable[  ${variable[  ${variable[  ${variable[]}

<strong>运行效果:<br></strong>

Ort Es wird im Array entsprechend der Aufteilung der Wörter angezeigt, und der Index beginnt bei 0<br>34 ew qr34 3qr wer er qw<br>Der erste: <br>34<br>Der zweite: <br>ew<br>Der 3.: <br>qr34<br> Der 4.: <br>3qr

-n: Empfangen Sie die angegebene Anzahl von Zeichen, wenn das Nachher empfangen wird Bei jedem Vorgang wird der Eingabestatus sofort verlassen


源码:
#- -n  
 ${num}

<strong>运行效果:<br></strong>

-n read akzeptiert 10 Zeichen <br>sgfgsngfdf<br> empfängt 10 Die Zeichen sind : sgfgsngfdf

<br>-p: ermöglicht die Angabe einer Eingabeaufforderung direkt nach dem Lesebefehl und kann mehreren Variablen Werte zuweisen


源码:
 -p    $num3

<strong>运行效果:<br></strong>
使用-p参数完成多个变量赋值:
请输入三个数字或字符:(用空格隔开)23 34 345 num1=23num2=34num3=345
 <br>

<br> -r: Backslashes dürfen keine Zeichen maskieren

<br> -s: Nicht read eingeben Die Daten von -s read werden nicht auf dem Bildschirm angezeigt:

Passwort:
Passwort ist 3432 rq erewr w
源码:
#- -p  - 
 ${password}

-t : Die Anzahl der Sekunden, die der Lesebefehl wartet zur Eingabe. Wenn der Timer abläuft, gibt er einen Status ungleich Null zurück und wird in Erwartung einer Eingabe beendet.
<strong>运行效果:<br></strong>

<br><br>

<br> wartet zwei Sekunden auf die Eingabe. Nach dem Timeout wird der Wartezustand beendet


源码:
#- -t  ${num}

-u: Aus dem Dateideskriptor FD (Dateideskriptor) lesen.
<strong>运行效果:<br></strong>

 
Ergänzender Inhalt

: Dateideskriptor FD<br>

Der Dateideskriptor ist eine nicht negative Ganzzahl in der Form. Tatsächlich handelt es sich um einen Indexwert, der auf die vom Kernel für jeden Prozess verwaltete Datensatztabelle der von dem Prozess geöffneten Dateien verweist. Wenn ein Programm eine vorhandene Datei öffnet oder eine neue Datei erstellt, gibt der Kernel einen Dateideskriptor an den Prozess zurück. Bei der Programmierung dreht sich ein Teil der Low-Level-Programmierung häufig um Dateideskriptoren. Das Konzept der Dateideskriptoren ist jedoch häufig nur auf Betriebssysteme wie UNIX und Linux anwendbar.

Konventionell ist der Dateideskriptor der Standardeingabe 0, der Standardausgabe 1 und der Standardfehler 2. Obwohl diese Konvention keine Funktion des Unix-Kernels ist, funktionieren viele Anwendungen nicht, wenn der Kernel diese Konvention nicht befolgt, da einige Shells und viele Anwendungen diese Konvention verwenden.
Beispiel für das Lesen aus einer Datei:

<br>

Das obige ist der detaillierte Inhalt vonShell – Standard-Eingabe und -Ausgabe (read&echo). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn