1

Мне нужен сценарий для создания сеанса экрана и запуска команды внутри, а затем отключить и перейти к другим экранам. Поэтому мне нужно что-то вроде screen -S vault -d -m $HOME/vault/v.sh Однако v.sh требует привилегий sudo. Какие у меня варианты?

  1. Оставь это так и запусти весь скрипт как sudo . Проблема: другие сценарии / сеансы также будут запускаться как sudo , что нежелательно.
  2. Вставьте sudo в начале: sudo screen -S vault -d -m $HOME/vault/v.sh
  3. Вставьте его перед вызовом v.sh: screen -S vault -d -m "sudo $HOME/vault/v.sh"

Какой самый лучший вариант?

1 ответ1

0

Один вариант, который вы не перечислили, заключается в том, что если для самого v.sh требуются sudo privs, поместите его в строку shebang вверху скрипта:

$ head -1 $HOME/vault/v.sh
#!/usr/bin/sudo /bin/sh

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .