No Terminal, como você executa um comando sudo com um & no final sem autenticação prévia? [duplicado]

2

Eu tenho usado um & no final de alguns comandos para liberar o terminal. No entanto, se requer sudo, não funciona. Eu posso contornar isso executando um comando aleatório sudo antes dele, mas isso é uma dor, e eu também poderia digitar a senha no comando, mas isso é inseguro. Existe alguma maneira alternativa de fazer esses comandos funcionarem?

Obrigado.

    
por brmbrmcar 24.01.2017 / 21:54

1 resposta

5

Essencialmente, o que você está fazendo é colocar o comando em segundo plano com & . Existe uma maneira manual de fazer isso. Aqui está um exemplo com sudo apt-get update

  1. Execute sudo apt-get update como de costume, digite a senha.
  2. Assim que o comando iniciar, pressione Ctrl + Z para pausar o processo
  3. Execute o comando bg para colocar o trabalho parado em segundo plano.

Observe que a saída ainda será exibida para stdout . Se não for essencial, use o redirecionamento &> /dev/null anexado ao comando para ocultar a saída.

Alternativamente, seria rodar o shell com sudo privilleges, e rodar comandos com -c flag, assim:

sudo bash -c 'apt-get update &>/dev/null  & '
    
por Sergiy Kolodyazhnyy 24.01.2017 / 21:58