Чтобы запустить несколько команд в докере, используйте /bin/bash -c
и точку с запятой ;
docker run image /bin/bash -c "cd /path/to/somewhere; python a.py"
. Если нам понадобится command2 (python), будет выполняться тогда и только тогда, когда command1 (cd) будет возвращать нуль (без ошибок), используйте &&
вместо ;
docker run image /bin/bash -c "cd /path/to/somewhere && python a.py"
Итак, это не совсем ответ, но он работал достаточно хорошо.
В конце концов я создал статическую библиотеку заранее, а затем собрал проект с помощью scan-build. Поскольку уже была обновленная сборка статической библиотеки, она не была перестроена и, следовательно, не сканировалась.
Я все же хотел бы получить реальный ответ на этот вопрос.
В крайнем случае, есть вариант грубой силы.
Добавьте это в начало файла:
// Omit from static analysis.
#ifndef __clang_analyzer__
Добавьте это в конец:
#endif // not __clang_analyzer__
и clang --analyze не увидит содержимое файла .