«grep THIS foo.txt> THIS.txt» выдает ошибку в Makefile, а не в bash, когда вывод grep пуст

Makefile выглядит следующим образом:

THIS.txt : foo.txt  
        grep THIS foo.txt > $@

Когда grep вывод пустой (ЭТОГО в foo.txt нет), make выдает сообщение об ошибке, bash - нет:

$ make  
make:*** [THIS.txt] Error 1

$ grep THIS foo.txt > THIS.txt  

$ grep THIS foo.txt 2>&1  

Почему? Как мне изменить мой make-файл, чтобы избежать сообщения об ошибке, когда вывод grep пуст?

7
задан tripleee 2 October 2016 в 09:08
поделиться