Во-первых, мы говорим только об ОС Debian / Ubuntu.
Во-вторых, мы говорим о пользователе без полномочий root только с привилегиями sudo.
Итак, вопрос:
Есть ли случай, когда нельзя использовать sudo bash -c 'command'
, а только команду sudo
?
это хорошая идея использовать sudo bash -c
вместо sudo
навсегда?
Если вы не используете bash
, то bash -c
запускает команду с bash
и Команда sudo
запускает команду с вашей оболочкой.
Если вы используете bash
, то bash -c
создает другой bash , в котором вы запускаете сценарий, что может вызвать проблемы с переменными.
Попробуйте этот пример
S=2
echo $S
bash -c echo $S
Вы получите другой результат!