A maneira mais fácil de modificar um comando é criar um alias que o apague e o chama com argumentos diferentes ou antes / depois de fazer outra coisa.
Você cria um alias como este:
alias ALIASNAME='COMMAND'
Não se preocupe em dar ao pseudônimo o mesmo nome de um comando que ele contém, você não pode gerar recursão aqui.
Então, para primeiro imprimir uma mensagem, aguarde alguns segundos e finalmente reinicialize, este comando é adequado:
echo "Rebooting in 10 seconds - abort with CTRL+C" && sleep 10 && reboot
Agora, precisamos aliasar esse longo comando para reboot
, para que ele seja executado em vez do original /sbin/reboot
one:
alias reboot='echo "Rebooting in 10 seconds - abort with CTRL+C" && sleep 10 && reboot'
Esse alias agora é válido apenas para seu usuário atual e somente para essa sessão de Bash. Fechar a janela do terminal fará com que ela desapareça novamente.
Para torná-lo persistente para sua conta de usuário, devemos garantir que o Bash o execute sempre que iniciar uma nova sessão. Isso é mais facilmente feito anexando-o ao seu arquivo ~/.bash_aliases
. Abra-o com o seu editor de texto favorito. Se ainda não existir, basta criá-lo.
Anexe o comando alias reboot='...'
de cima ao final do arquivo. Se você quiser, você também pode adicionar um comentário descrevendo o que é isso. Linhas de comentário devem começar com um caractere #
. Salve o arquivo depois de terminar a edição.
Quando você abrir uma nova janela de terminal, o alias funcionará.
Por favor, note que esta abordagem é para 16.04, onde (por qualquer motivo) /sbin/reboot
não precisa mais ser executado como root, mas também está feliz com privilégios normais de usuário. Se você usar uma versão mais antiga, em que /sbin/reboot
ainda precisa ser executado como raiz ou com sudo
, adicione o sudo
dentro do comando alias:
alias reboot='echo "Rebooting in 10 seconds" && sleep 10 && sudo reboot'
A execução do próprio alias com sudo
(ou seja, sudo ALIASNAME
) não funcionará porque os aliases são específicos da sessão de Bash do seu usuário.