desenv-web-rp.com

Bash - Como posso fazer "Pressione qualquer tecla para continuar"

Estou criando um script para instalar o meu tema; após a instalação, aparecerá o changelog e haverá "Pressione qualquer tecla para continuar" para que, depois que os usuários leiam o changelog, pressione qualquer tecla para continuar

214
superquanganh

Você pode usar o comando read:

read -p "Press enter to continue"

Conforme mencionado nos comentários acima, esse comando realmente exige que o usuário pressione enter; uma solução que funcione com qualquer chave seria:

read -n 1 -s -r -p "Press any key to continue"

Explicação por Rayne e wchargin

-n define a contagem de caracteres necessária para parar de ler

-s oculta a entrada do usuário

-r faz com que a sequência seja interpretada como "bruta" (sem considerar escapes de barra invertida)

321
MKT

Como o @cas escreveu em um comentário, você realmente deve usar less para isso. Se o registro de alterações tiver mais de uma página, você realmente deseja um pager.

Você normalmente deseja consultar a variável de ambiente PAGER em vez de apenas chamar less:

${PAGER:-less} changelog

usará $PAGER se estiver definido e less caso contrário.

18
Stig Hemmer
read -rsn1 -p"Press any key to continue";echo

Ou, se você realmente precisa da variável REPLY:

read -rsn1 -p"Press any key to continue" variable;echo

Substitua variable por um nome de variável que você não precisa.

13
EKons