Use sudo -i no script bash

3

Eu gostaria de escrever um script bash para executar algumas tarefas na raiz enquanto estiver logando como usuário normal. É possível ter algo assim?

#!/usr/bash

sudo -i

<multiple line perform all my sudo command>
...
...
...
exit

<back to my user command, continue some other task>

Claro que posso colocar um sudo em cada linha, mas gostaria de descobrir se é possível fazer algo como acima? Obrigado.

    
por Voon 19.02.2012 / 09:04

2 respostas

10

Que tal algo simples como este?

#!/usr/bash
sudo bash << EOF
# Everything until EOF is run in a sub-shell
echo 'Hello World'
whoami
EOF
    
por 19.02.2012 / 09:22
3

Aqui está uma abordagem mais simples:

#!/usr/bash

sudo sh another_script.sh

<continue some other task>

Aqui está o outro script.

#!/usr/bash
<multiple line perform all my sudo command>
...
...
...

Se você quiser evitar o prefixo de cada comando com sudo , basta incluí-los em outro script e chamá-lo.

    
por 19.02.2012 / 09:12

Tags