У меня есть сценарий, который требует разрешения sudo и должен запускаться с /bin/bash на компьютере с Ubuntu 14.04.

Если я запускаю его, войдя в систему как пользователь root (или любой другой пользователь), он открывается с помощью /bin/bash как и ожидалось, однако, когда я запускаю скрипт с помощью sudo он открывается с помощью /bin/sh независимо от того, с каким пользователем я вошел как ,

Я проверил /etc/passwd и вижу /bin/bash - оболочка по умолчанию для root. $SHELL определяется как /bin/bash .

Я не буду единственным, кто использует скрипт, поэтому я не могу полагаться на людей, использующих sudo -i для его запуска.

Где определяется оболочка sudo? Как я могу это изменить?

1 ответ1

1

Моя проблема заключалась в том, что я задокументировал скрипт до #!/bin/bash line, так что шебанг был не первой строкой в скрипте.

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