A melhor coisa a fazer é digitar cada um dos seus comandos no terminal para testar o que o comando fará. No seu caso, acho que você quer usar o seguinte:
shutdown now
Sou novo no Linux. Eu escrevi um script muito simples para desligar meu computador, escrito assim:
!#/bin/bash
echo "Hello World"
sudo shutdown
Quando executo este código, ele inicia um cronograma de desligamento, normalmente um minuto ou mais, embora meu script não forneça o agendamento, em vez disso, eu quero imediatamente desligar meu sistema. Eu gostaria de saber se esta é uma função do meu script ou do Linux, e o que posso fazer para corrigir meu script para que ele seja encerrado instantaneamente.
Existem três questões que você precisa abordar no seu script.
O primeiro é o erro de digitação na linha shebang. a sintaxe correta para essa linha seria #!
/ path / to / interpret -options e arguments. Ele deve começar no primeiro caractere da primeira linha e terminar com uma nova linha. bash
é um shell aceitável para o script (embora possa ser um exagero nesse caso), portanto, após corrigir os dois primeiros caracteres, isso seria aceitável, mas algumas opções podem ser úteis. -e
sai em qualquer erro forçando você a escrever scripts melhores e -x
mostra o que o shell está fazendo em cada etapa, embora nenhum deles tenha captado os problemas nesse caso.
Os dois erros mais comuns com o desligamento são o tempo e o tipo de desligamento, e você parece ter atingido os dois. A principal característica do desligamento é desligar de cada vez. Existem três maneiras de especificar um tempo absoluto, relativo e now
. Agora é um alias de +0
, o que significa zero segundos a partir de agora e é mais frequentemente o que é desejado em sistemas de usuário único. A outra característica principal do Shutdown é que ele suporta vários tipos de desligamentos, por exemplo, parada, desligamento e reinicialização, mas como o desligamento é anterior ao gerenciamento automático de energia, o padrão é desligar para um modo de usuário único. Ele costumava ser usado para que, depois de expulsar todos os usuários, você pudesse sincronizar, desmontar e verificar os sistemas de arquivos antes de desligar o sistema. Também foi útil para fazer outra manutenção antes de retornar ao modo multiusuário. Não é muito usado nos dias de hoje, mas ainda é o padrão. A página man vai lhe dizer como selecionar o tipo de desligamento.
Além disso, o sudo não é necessário para o usuário root, portanto você pode ignorá-lo para o usuário root.
Tags shutdown ubuntu shell-script