Команда не найдена при запуске с sudo bash

Я ssh в мою машину, а затем, чтобы выполнить некоторые команды, мне нужно сначала sudo bash .

В сеансе интерактивного терминала, если я это сделаю:

 [vagrant@33 ~]$ sudo bash [root@33 vagrant]# which bundle /opt/upnxt/rbenv-0.4.0-7/shims/bundle 

все работает. Но если мне нужно сделать это в одной строке:

 [vagrant@33 ~]$ sudo bash -c "whoami; which bundle" root which: no bundle in (/sbin:/bin:/usr/sbin:/usr/bin) 

вещи перестают работать. Почему это происходит и что еще нужно сделать для второго сценария, чтобы иметь возможность запускать его, как первый?

  • Использовать текущую переменную среды пользователя в файле sudoers
  • Выключение или перезагрузка как обычно
  • Как я могу подражать поведению su с sudo?
  • Использовать пользовательскую конфигурацию без полномочий root для учетной записи root
  • Как предоставить привилегии конкретного использования другому пользователю в Debian?
  • использование sudo в приложениях с графическим интерфейсом
  • Система не запрашивает моего согласия при использовании sudo несколько раз
  • Если я нахожу «sudo» в начале одного лайнера, применим ли он к остальным командам?
  • One Solution collect form web for “Команда не найдена при запуске с sudo bash”

    Когда вы вызываете sudo bash вы запускаете новый экземпляр bash с user root environment . Но если вы назовете sudo bash -c "whoami; which bundle" окружение», то для вашего пользователя остается. Если у вас нет намерения сделать это, вы можете изменить последний вызов по параметрам sudo -i

    -i , –login

    Запустите оболочку, указанную в записи базы данных пользователя целевого пользователя, в качестве оболочки входа. Это означает, что файлы ресурсов, зависящие от пользователя, такие как .profile или .login, будут прочитаны оболочкой. Если задана команда, она передается оболочке для выполнения через опцию -c оболочки. Если команда не указана, выполняется интерактивная оболочка. sudo пытается перейти в домашний каталог этого пользователя перед запуском оболочки. Команда запускается со средой, подобной той, которую пользователь получит при входе в систему. Раздел « Командная среда » в справочных документах sudoers (5) о том, как параметр -i влияет на среду, в которой выполняется команда, когда политика sudoers в использовании.

    Interesting Posts

    Причины установки X Windows на сервер Linux

    нажимать и изолировать пользовательские среды на лету

    SCP работает, но SSH не работает (по Wi-Fi)

    SSH вызывает остановку цикла

    Как войти в syslog, если служба остановлена ​​с помощью systemd

    Переключение нескольких графических режимов при запуске

    Как я могу создать резервную копию каталога в NTFS, сохраняя атрибуты файлов Unix?

    Как проверить, использует ли мое беспроводное соединение AES или TKIP с терминала?

    Как получить все номера из строки и добавить их?

    создание простой команды для sudo apt-get install?

    восьмеричный дамп каталога

    Linux: использование виртуальной сети внутри моста

    Автоматическое обновление базы данных MPD при вставке внешнего хранилища

    Создайте устройство петли записи-записи для гораздо большего блочного устройства

    Swap: лучше создать выделенный раздел подкачки или создать файл подкачки?

    Linux и Unix - лучшая ОС в мире.