Читая man pages
я ожидал, что sudo -E
передаст все переменные окружения в подоболочку, но я не получаю ожидаемых результатов.
Как и ожидалось, потрясающе:
$ export LD_LIBRARY_PATH=/home/mmendez/toolchains/x86-destdir/usr/lib/
$ env | grep LD
LD_LIBRARY_PATH=/home/mmendez/toolchains/x86-destdir/usr/lib/
Больше удивительности:
$ env -i LD_LIBRARY_PATH=/tmp/no/where env | grep LD
LD_LIBRARY_PATH=/tmp/no/where
Не то, что ожидалось
$ env -i LD_LIBRARY_PATH=$LD_LIBRARY_PATH sudo -E /usr/bin/env | grep LD
$
$ env -i LD_LIBRARY_PATH=/tmp/no/where sudo -E /usr/bin/env | grep LD
$
Итак, как мне получить sudo -E
для передачи LD_LIBRARY_PATH
без редактирования /etc/sudoers
?
Редактировать:
В соответствии с Как я могу заставить sudo сохранять переменные окружения? OP указывает, что оболочка может играть роль в сочетании с !env_reset
. Я использую Arch Linux
и оболочкой по умолчанию является BASH
. Еще раз, я не хочу редактировать /etc/sudoers
, это возможно?