VREPRINT no parece tener ningún efecto

VREPRINT no parece tener ningún efecto

De acuerdo con ladocumentos GNU, hay un personajeVREPRINT, o rprnt, que se supone que vuelve a imprimir el búfer de entrada del editor de líneas del shell. Esto puede ser útil si algo como un proceso en segundo plano se ha escrito en el PTY mientras escribe otro comando y hay resultados intercalados con su entrada. Sin embargo, intenté usarlo y parece que no tiene ningún efecto. Hice lo siguiente:

  1. Ejecute una shsesión con la alpineimagen más reciente de Dockerhub.
  2. Úselo sttypara vincular el rprntpersonaje a ^N.
  3. Escribe alguna entrada
  4. Desde una sesión separada, escriba al PTY de la primera sesión.
  5. Intente presionar Ctrl-N para reimprimir mi entrada.

ingrese la descripción de la imagen aquí

Esperaba que actualizara mi entrada y eliminara la salida que estaba escrita. Sin embargo, no hubo ningún efecto. Todavía hay resultados que saturan mi editor de líneas. Lo verifiqué icanony iextenestoy configurado en este PTY.

Respuesta1

Supongo que su shell es basho algún otro shell con capacidades de edición de líneas con todas las funciones.

Estos shells, mientras esperan que usted escriba el comando, configuran el modo tty en raw en lugar de canónico, por lo que la rprntconfiguración no se aplica a ellos.

La herramienta de línea de comando sttyno lo informa ya que estos shells alternan la configuración hacia adelante y hacia atrás durante la edición de la línea versus la ejecución del programa externo solicitado (como sttyél mismo). Puede confirmar esto ejecutando stty -a < /dev/pts/[this-terminal's-number]desde otro terminal mientras este está en el mensaje.

Elija un programa que lo haganotienen capacidades completas de edición de líneas, como cat, dasho similares. Descubrirá que emitir stty rprnt ^Npor adelantado y presionar ^Nrealmente reimprime la línea dada. Al menos lo he verificado y me funciona.

Para shells con potentes capacidades de edición de líneas, deberá consultar la documentación del shell proporcionado (o en el caso de bashla readlinebiblioteca) para ver cómo reimprimir el mensaje o cómo configurar su tecla de acceso rápido.

información relacionada