Perguntar antes de executar 'reboot'?

5

Eu frequentemente (todos os dias todos os dias) tenho uma aba de terminal minicom aberta e executo comandos em um sistema Linux embarcado do meu laptop Ubuntu. Às vezes eu tenho que executar o comando reboot , e às vezes, tenho vergonha de admitir, eu acidentalmente executo reboot na guia errada e meu laptop faz exatamente o que foi projetado para fazer sem fazer nenhuma pergunta ...

Estou usando o Ubuntu 16.04 LTS e tentei instalar o molly-guard, mas isso não teve efeito.

99 vezes em 100 eu não estrago, mas meu laptop leva uns bons 10 minutos para reiniciar e eu executo reboot com frequência suficiente para que isso seja um aborrecimento.

Existe algum tipo de magia negra, eu posso adicionar ao meu script bash de configuração de janela de terminal personalizado, que fará reboot map para outra coisa (apenas para aquela sessão de bash preferencialmente)?

    
por Nathan Owen 23.02.2018 / 22:56

2 respostas

12

No arquivo ~/.bashrc em seu laptop ( não na máquina incorporada), adicione a linha:

reboot() { echo  "Hey, don't do that!"; }

Se você realmente queria executar reboot no laptop, pode contornar essa função executando sudo reboot ou /sbin/reboot .

Ou, você poderia torná-lo mais amigável, como sugerido man0v , usando:

reboot () { echo 'Reboot? (y/n)' && read x && [[ "$x" == "y" ]] && /sbin/reboot; }

Sugiro colocar essa função em ~/.bashrc porque queremos que ela esteja disponível em sessões bash interativas.

    
por 23.02.2018 / 23:00
-2

Ok, depois de brincar um pouco mais, encontrei uma solução ok:

Eu criei um arquivo bash chamado 'reboot' em / usr / sbin / e adicionei o caminho completo / usr / sbin / reboot à frente do $ PATH.

Aqui está o script:

read -p "Are you sure? " -n 1 -r
echo    
if [[ $REPLY =~ ^[Yy]$ ]]
then
    /sbin/reboot
fi

Talvez não seja a melhor solução ...

    
por 23.02.2018 / 23:06