[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] problema com o read -s
From: |
Marlon Vagner Reck |
Subject: |
Re: [shell-script] problema com o read -s |
Date: |
Sun, 9 Nov 2008 21:03:41 -0200 |
User-agent: |
KMail/1.9.10 |
On Sunday 09 November 2008 20:47:09 edmars souza wrote:
> Poderia enviar o resto do script?
>
> E ai cara blz?
>
> É o seguinte o script todo é muito extenso.
> mais esse pedaço que está me dando problema é mais ou menos assim?
>
> #!/bin/sh
> echo "Digite a senha: "
> read -s senha
>
> if [ "$senha" = "123" ]; then
> executa aqui alguns comandos
> fi
>
> Esse é o problema porque se o usuário digitar ctrl+c/ctrl+z me causar um
> problema. Esse script é protetor de tela que usa senha.
> Obrigado pela atenção até mais.
>
> Se tiver msn me envie falaremos melhor.
> Até mais. Um abração.
Boa noite amigo
Vc pode usar o comando trap para impedir que os ctrl+c/ctrl+z te
causem
problemas.
A sintaxe do comando trap é a seguinte:
trap [função_a_ser_executada] número_do_sinal
Se não for informado a “função_a_ser_executada” o script não mais reconhecerá
o sinal equivalente, por exemplo se você desejar que seu script desabilite o
sinal de interrupção “^C” Ctrl+C ou SIGINT 2 utilize o comando: trap 2
Script de Exemplo:
#!/bin/bash
# Função que remove os arquivos temporários
remove_temp()
{
echo “Removendo arquivos temporários”
rm -f /tmp/lixo001
exit
}
# O comando trap deverá estar no início de seu script
# quando o usuário interromper o script primeiro ele
# irá executar a função remove_temp
trap remove_temp 2
echo “Aqui começa o seu programa”
touch /tmp/lixo001
while true;
do
echo “Para terminar o loop tecle Ctrl+C…”
sleep 20
done
Fonte e créditos:
http://under-linux.org/1306-desabilitando-sinais-do-sistema-operacional-com-o-comando-trap.html
--
Desde já agradeço.
Marlon V. Reck