Pausa en script de Linux

Os saco este extracto de stackoverflow muy interesaste para hacer diferentes pausas desde la consola de Linux:

Commands

  • Enter solution
    read -rsp $'Press enter to continue...\n'
  • Escape solution (with -d $’\e’)
    read -rsp $'Press escape to continue...\n' -d $'\e'
  • Any key solution (with -n 1)
    read -rsp $'Press any key to continue...\n' -n 1 key
    # echo $key
  • Question with preselected choice (with -ei $’Y’)
    read -rp $'Are you sure (Y/n) : ' -ei $'Y' key;
    # echo $key
  • Timeout solution (with -t 5)
    read -rsp $'Press any key or wait 5 seconds to continue...\n' -n 1 -t 5;
  • Sleep enhanced alias
    read -rst 0.5; timeout=$?
    # echo $timeout

     

Explanation

-r specifies raw mode, which don’t allow combined characters like «\» or «^».

-s specifies silent mode, and because we don’t need keyboard output.

-p $’prompt specifies the prompt, which need to be between $’ and ‘ to let spaces and escaped characters. Be careful, you must put between single quotes with dollars symbol to benefit escaped characters, otherwise you can use simple quotes.

-d $’\e specifies escappe as delimiter charater, so as a final character for current entry, this is possible to put any character but be careful to put a character that the user can type.

-n 1 specifies that it only needs a single character.

-e specifies readline mode.

-i $’Y specifies Y as initial text in readline mode.

-t 5 specifies a timeout of 5 seconds

key serve in case you need to know the input, in -n1 case, the key that has been pressed.

$? serve to know the exit code of the last program, for read, 142 in case of timeout, 0 correct input. Put $? in a variable as soon as possible if you need to test it after somes commands, because all commands would rewrite $?

Tags: × × ×

One Comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Esta web utiliza cookies propias y de terceros para mejorar tu experiencia de navegación y elaborar información estadística. Al continuar navegando aceptas su uso y nuestra POLÍTICA DE COOKIES

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar