GNU/Linux >> Tutoriels Linux >  >> Linux

Comment signaler la fin de l'entrée Stdin ?

  1. Dans Bash, j'ai appris que le signal
    de fin peut être modifié par ce
    document. Mais par défaut comment puis-je
    signaler la fin de l'entrée stdin ?
  2. J'ai découvert qu'avec cat et
    chardet, leurs entrées stdin peuvent être
    signalées comme terminées par Ctrl+d. Mais
    je crois me souvenir que Ctrl+d et
    Ctrl+c sont similaires à la fin
    de l'exécution d'une commande en cours d'exécution. Alors
    est-ce que je me trompe ?

Réponse acceptée :

Ctrl+D , lorsqu'il est tapé au début d'une ligne sur un terminal, signifie la fin de l'entrée. Ce n'est pas un signal au sens unix :lorsqu'une application lit depuis le terminal et que l'utilisateur appuie sur Ctrl+D , l'application est avertie que la fin du fichier a été atteinte (comme si elle lisait un fichier et avait passé le dernier octet).

Ctrl+C envoie un signal, SIGINT. Par défaut, SIGINT (le signal d'interruption) tue l'application de premier plan, mais l'application peut capter le signal et réagir d'une manière différente (par exemple, le shell lui-même capte le signal et interrompt la ligne que vous avez commencé à taper, mais ce n'est pas le cas t quitter, il affiche une nouvelle invite et attend une nouvelle ligne de commande).

Vous pouvez modifier les caractères associés à la fin de fichier et SIGINT avec le stty commande, par ex. stty eof a ferait a le caractère de fin de fichier et stty intr ^- désactiverait le caractère SIGINT. C'est rarement utile.


Linux
  1. Comment utiliser la commande basename ?

  2. Comment ajouter une nouvelle ligne à la fin d'un fichier ?

  3. Comment installer R 3.3.1 dans le propre répertoire ?

  4. Les "si" ?

  5. Comment installer l'application Signal Messaging sur le dernier Ubuntu

Comment taper emoji sur Linux

Comment configurer le joli nom d'hôte

Comment faire pivoter l'écran sur un Raspberry Pi 3

Comment changer le nom d'hôte sur Ubuntu

Comment fonctionnent les pseudo-terminaux *nix ? Quel est le canal maître/esclave ?

Comment puis-je modifier la disposition du clavier d'entrée dans la console ?