GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo señalar el final de la entrada Stdin?

  1. En Bash, aprendí que la señal final
    se puede cambiar con este documento
    . Pero, de forma predeterminada, ¿cómo puedo
    señalar el final de la entrada estándar?
  2. Encontré que con cat y
    chardet, sus entradas stdin pueden ser
    señaladas como terminadas con Ctrl+d. Pero
    creo recordar que Ctrl+d y
    Ctrl+c son similares a finalizar
    la ejecución de un comando en ejecución. Entonces
    ¿me equivoco?

Respuesta aceptada:

Ctrl+D , cuando se escribe al principio de una línea en un terminal, significa el final de la entrada. Esta no es una señal en el sentido de Unix:cuando una aplicación está leyendo desde la terminal y el usuario presiona Ctrl+D , se notifica a la aplicación que se ha llegado al final del archivo (como si estuviera leyendo un archivo y hubiera pasado el último byte).

Ctrl+C envía una señal, SIGINT. Por defecto, SIGINT (la señal de interrupción) elimina la aplicación en primer plano, pero la aplicación puede captar la señal y reaccionar de alguna manera diferente (por ejemplo, el propio shell capta la señal y aborta la línea que ha comenzado a escribir, pero no lo hace). t sale, muestra un nuevo indicador y espera una nueva línea de comando).

Puede cambiar los caracteres asociados con el fin de archivo y SIGINT con stty comando, por ej. stty eof a haría a el carácter de fin de archivo y stty intr ^- deshabilitaría el carácter SIGINT. Esto rara vez es útil.


Linux
  1. Cómo llegó Linux al mainframe

  2. ¿Cómo usar el comando basename?

  3. ¿Cómo agregar una nueva línea al final de un archivo?

  4. ¿Los 'si'?

  5. Cómo girar la pantalla en una Raspberry Pi 3

Cómo escribir emoji en Linux

Cómo configurar el nombre de host bonito

¿Cómo verificar HZ en la terminal?

¿Cómo extraigo el contenido de un rpm?

¿Cómo puedo cambiar el diseño del teclado de entrada mientras estoy en la consola?

¿Cómo comprobar si stdin es/dev/null desde el shell?