Я заметил, что на самом деле никто еще не ответил на исходный вопрос, в частности, как игнорировать ошибки (в настоящее время все ответы касаются только вызова команды, если она не вызовет ошибки).
Фактическиигнорируя ошибки, вы можете просто сделать:
mv -f foo.o ../baz 2>/dev/null; true
Это перенаправит вывод stderr
на null
и последует команде с true
(которая всегда возвращает 0
, заставляя make веритькоманда выполнена независимо от того, что на самом деле произошло), что позволяет продолжить выполнение программы.