Como fazer um comando não rodar como sudo no script

-1

Eu tenho um script install.sh que contém comandos para instalar pacotes no Ubuntu. Por ex:

#/bin/bash

sudo apt-get update 
sudo apt-get updgrade
sudo apt-get install <package>

Agora existe um comando que eu quero rodar sem sudo, então vou escrever sem sudo

#/bin/bash

sudo apt-get update 
sudo apt-get updgrade
sudo apt-get install <package>
pcmanfm --set-wallpaper /path to file  <-- I want this to be run without sudo

Mas quando executo o script, faço sudo sh install.sh , o que automaticamente faz com que todos os comandos sejam executados como sudo. Existe de qualquer maneira, eu posso proteger o comando pcmanfm para não rodar como sudo.

    
por S Andrew 27.07.2017 / 08:54

1 resposta

2

Você deve executar o script da seguinte maneira:

./install.sh

ou

sh ./install.sh

Isso fará com que o único comando que começa com sudo no script seja executado como raiz.

Observe que o prefixo ./ para o install.sh significa que install.sh do diretório atual será executado.

    
por Yaron 27.07.2017 / 08:56