Функция docker не вызывает себя рекурсивно при использовании sudo?

попробуй

found=$( egrep  "Test total|Test scored|Tests failed" -c  file )
if [ $found -eq 3 ]
then
  ## all three test
else
  ## some failed
fi

где

  • egrepразрешить расширенный grep, то есть использование|(или)
  • -cдает количество совпадающих строк.
  • $( )вернуть результат команды как переменную.
-1
09.08.2019, 22:23
1 ответ

sudoпроверяетPATH(обычно " secure_path" и даже не полныхPATH)ваших пользователей и rootPATH)для команд и, следовательно, не работает со встроенными модулями и функциями. commandявляется встроенным, и sudo использует команду dockerв вашем PATH, а не в вашей функции.

Вы могли бы решить эту проблему, создав скрипт-оболочку, указывающий на commandвстроенную (или аналогично с вашей функцией докера )и поместив этот скрипт в PATH, но вы не следует этого делать. Вы должны просто запустить сам докер с sudo, когда это необходимо.

1
28.01.2020, 05:09

Теги

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