Raramente é uma boa ideia ter sudo
dentro dos scripts. Em vez disso, remova o sudo
do script e execute o próprio script com sudo
:
sudo myscript.sh
Dessa forma, todos os comandos do script serão executados com privilégios de root e você só precisará fornecer a senha uma vez ao iniciar o script. Se você precisar de um comando específico dentro do script para ser executado sem sudo
privileges, você pode executá-lo como um usuário regular com (obrigado Lie Ryan ):
sudo -u username command
O espaço é irrelevante, não deve afetar nada, existe sempre um espaço entre um comando e seus argumentos.