GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie signalisiert man das Ende der Stdin-Eingabe?

  1. In Bash habe ich gelernt, dass das Endsignal
    durch dieses
    Dokument geändert werden kann. Aber wie kann ich standardmäßig
    das Ende der stdin-Eingabe signalisieren?
  2. Ich habe zufällig herausgefunden, dass mit cat und
    chardet ihre stdin-Eingaben
    durch Strg+d als beendet signalisiert werden können. Aber
    ich glaube mich zu erinnern, dass Strg+d und
    Strg+c dem Beenden
    der Ausführung eines laufenden Befehls ähneln. Also
    liege ich falsch?

Akzeptierte Antwort:

Strg+D , wenn es am Anfang einer Zeile auf einem Terminal eingegeben wird, bedeutet das Ende der Eingabe. Dies ist kein Signal im Sinne von Unix:wenn eine Anwendung vom Terminal liest und der Benutzer Strg+D drückt , wird die Anwendung benachrichtigt, dass das Ende der Datei erreicht wurde (genauso, als ob sie aus einer Datei lesen und das letzte Byte übergeben hätte).

Strg+C sendet ein Signal, SIGINT. Standardmäßig beendet SIGINT (das Interrupt-Signal) die Vordergrundanwendung, aber die Anwendung kann das Signal abfangen und auf andere Weise reagieren (z. Beim Beenden zeigt es eine neue Eingabeaufforderung und wartet auf eine neue Befehlszeile).

Sie können die mit dem Dateiende und SIGINT verbundenen Zeichen mit stty ändern Befehl, z. stty eof a würde a machen das Dateiendezeichen und stty intr ^- würde das SIGINT-Zeichen deaktivieren. Das ist selten sinnvoll.


Linux
  1. Wie verwende ich den basename-Befehl?

  2. Wie lässt sich Iconv dazu bringen, die Eingabedatei durch die konvertierte Ausgabe zu ersetzen?

  3. Wie installiere ich R 3.3.1 im eigenen Verzeichnis?

  4. So installieren Sie die Signal Messaging-App auf dem neuesten Ubuntu

  5. Wie funktionieren *nix-Pseudo-Terminals? Was ist der Master/Slave-Kanal?

Emoji unter Linux eingeben

Wie Linux auf den Mainframe kam

So richten Sie den Pretty Hostnamen ein

So drehen Sie den Bildschirm auf einem Raspberry Pi 3

So ändern Sie den Hostnamen unter Ubuntu

Wie entpacke ich den Inhalt einer RPM?