Как сделать команду не запущенной как sudo в скрипте

У меня есть скрипт install.sh, который содержит команды для установки пакетов на ubuntu. Для ex:

#/bin/bash sudo apt-get update sudo apt-get updgrade sudo apt-get install <package>

Теперь есть команда, которую я хочу запустить без sudo, поэтому я напишу без 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

Но когда я запускаю скрипт, я do sudo sh install.sh, который автоматически выполняет все команды, выполняемые как sudo. В любом случае, я могу защитить команду pcmanfm, чтобы она не выполнялась как sudo.

-1
задан 27 July 2017 в 09:54

3 ответа

Вы должны выполнить скрипт следующим образом:

./install.sh

или

sh ./install.sh

Это приведет к тому, что только команда, начинающаяся с sudo в скрипте, будет запускать в качестве корня.

Обратите внимание, что префикс ./ для install.sh означает, что будет выполнен install.sh из текущего каталога.

2
ответ дан 22 May 2018 в 20:07
  • 1
    Да, но по какой-то причине мне нужно использовать sudo для install.sh – S Andrew 27 July 2017 в 09:58
  • 2
    Скрипт выполняет sudo для команд, внутри которых требуется выполнить root. почему вам нужно выполнить весь скрипт как root с помощью sudo? – Yaron 27 July 2017 в 09:59

Вы должны выполнить скрипт следующим образом:

./install.sh

или

sh ./install.sh

Это приведет к тому, что только команда, начинающаяся с sudo в скрипте, будет запускать в качестве корня.

Обратите внимание, что префикс ./ для install.sh означает, что будет выполнен install.sh из текущего каталога.

2
ответ дан 18 July 2018 в 09:35

Вы должны выполнить скрипт следующим образом:

./install.sh

или

sh ./install.sh

Это приведет к тому, что только команда, начинающаяся с sudo в скрипте, будет запускать в качестве корня.

Обратите внимание, что префикс ./ для install.sh означает, что будет выполнен install.sh из текущего каталога.

2
ответ дан 24 July 2018 в 19:22

Другие вопросы по тегам:

Похожие вопросы: