Bash — Выйти Из Целевого Файла Makefile, Вызванного Родителем, Без Выдачи Ошибки

  • Автор темы Jonmj1
  • Обновлено
  • 21, Oct 2024
  • #1

Допустим, у меня есть 2 цели:

 test 

Я хотел бы make to execute even if exit 0 пусто и $(SOMETHING) only if echo dosomething не пусто (что в примере не работает, оно все равно выполняется).

$(SOMETHING) of course doesn't work here since echo test игнорирует неотрицательный выход в подоболочках, используемых для выполнения инструкций.

Есть ли другой способ пропустить остальную часть цели, не прерывая дальнейшего выполнения test: # ... @$(MAKE) dosomething @echo test # ... dosomething: # ... @if [ -z "$(SOMETHING)" ]; then exit 0; fi @echo dosomething # ... target? I could make the rest a single long instruction of else but wondering if there's a different command I'm maybe missing.

#баш

Jonmj1


Рег
04 Feb, 2014

Тем
70

Постов
204

Баллов
564
  • 25, Oct 2024
  • #2

Makefile

 
 hello
world
 

Бег: make will return:

all: test dosomething test: @echo "hello" dosomething: @if [ "a" = "a" ]; then\ echo "world";\ exit 0;\ fi
 

Вит1


Рег
18 Jul, 2006

Тем
71

Постов
213

Баллов
588
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно