Я знаю, что sudo bash -c 'some_command'
будет запускать some_command
с теми же привилегиями, что и sudo.
Я смущен, что происходит? Выполняет ли он some_command
в bash как sudo (то же самое, что и sudo bash
), а затем переключается обратно на моего текущего пользователя? Почему я не остался в экземпляре bash с привилегиями sudo, как если бы я запускал sudo bash
?
Я попробовал запустить man bash
и описывает параметр -c
(приведенный ниже).
Тем не менее, я изо всех сил пытаюсь объяснить, как это описание относится к поведению, которое я наблюдал при работе sudo bash -c 'some_command'
Если присутствует опция -c, команды считываются из первого аргумента без аргумента command_string. Если есть аргументы после command_string, они назначаются позиционным параметрам, начиная с $0.