CentOS 7 sudo >> -E: команда не найдена - PullRequest
0 голосов
/ 05 сентября 2018

Я работаю над CentOS 7, и обычные команды sudo (например, sudo yum update и т. Д.) Работают нормально. Однако одна из моих команд sudo требует сохранения переменных окружения, поэтому я использовал:

sudo -E ./build/unit-tests

и я получаю эту ошибку:

/var/tmp/sclyZMkcN: line 8: -E: command not found

Похоже, что sudo не распознает команду -E в CentOS 7. Что я могу сделать в этом случае? Любые альтернативы или возможные исправления?

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Я недавно столкнулся с точно такой же проблемой. Я попытался выполнить скрипт с sudo -E, что вызвало вышеупомянутую ошибку -E: command not found.

Причиной оказалась Red Hat Developer Toolset, предоставляющая неработающий sudo. Решение состоит в том, чтобы использовать полный системный путь sudo, чтобы убедиться, что используется правильный путь, т.е.

/usr/bin/sudo -E ./some_script.sh

0 голосов
/ 05 сентября 2018

Если вы знаете, какие переменные сохранить, вы можете использовать env для передачи их через командную строку.

sudo env foo="$foo" bar="$bar" ./build/unit-tests
...