VMWARE создает виртуальную машину

sudo -E <command> [arguments]

не работает в вашем случае, потому что Debian определяет secure_pathв /etc/defaults, что переопределяет значение PATHдаже с -E.

sudo  "PATH=$PATH" <command> [arguments]

должен работать, потому что PATH=$PATHраспознается и обрабатывается sudo. В моем случае sudo "PATH=$PATH" envпоказывает мое текущее значение PATH. (Обратите внимание, что PATH=$PATH <command>не является общепризнанной -командой; он соответствует конструкции, которая распознается оболочкой и sudo, но не обязательно в других контекстах. ).

Однако сам sudoне использует этот $PATHдля поиска <command>и по-прежнему использует secure_path.

sudo -E env "PATH=$PATH" <command> [arguments]

работает, потому что "PATH=$PATH"сохраняет текущее значение PATHв команде, как видно из sudo, а затем env; sudoзаменяет значение PATH, заданное envв своей среде, но envзатем считывает значение из своих аргументов, чтобы построить среду для <command>.

А здесь команда envпросматривается -с помощью sudoв secure_path, но сама envпросматривается <command>в предоставленном $PATH.

1
26.03.2020, 07:22
0 ответов

Теги

Похожие вопросы