TL; DR: NÃO
O primeiro comando é
sudo some-command
O segundo comando é
some-other-command
O comando sudo
recebe o seguinte comando e o executa com privilégios elevados. O &&
, no entanto, não pertence a um comando e é interpretado pelo shell, antes de executar o primeiro comando. Diz ao bash para primeiro executar o primeiro comando e, no sucesso, o segundo.
Portanto, o sudo
não sabe sobre o && some-other command
. Quando o processo elevado termina, o bash pega seu valor de retorno e, em seguida, executa o outro comando, que novamente não conhece o primeiro.
Isso pode ser demonstrado facilmente:
$ sudo whoami && whoami
root
username
Para alcançar o que você deseja, você pode iniciar um bash elevado e permitir que ele execute os dois comandos:
$ sudo bash -c 'whoami && whoami'
root
root
Portanto, ambos os comandos são executados como root, já que todo o processo descrito acima é executado em um processo elevado, ou seja, a sessão bash é iniciada com este comando, que sai imediatamente após o término. Ainda assim, os dois whoami
s não sabem da existência um do outro.
Isto não serve para nenhum propósito, mas para esta demonstração, a maneira mais fácil é simplesmente fazer
sudo some-command && sudo some-other-command