Я наткнулся на следующий сценарий оболочки как часть make-файла в u-boot. , что он делает и как она оцениваетсяЧто делает следующий сценарий оболочки
cc-option = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null \
> /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
это называется
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,\
$(call cc-option,-malignment-traps,))
+1, но «если» не является командой. Это ключевое слово в грамматике оболочки. –
@WilliamPursell: Ну, в большинстве оболочек «if» - это встроенная командная оболочка. В руководстве BASH перечислены 'if' в разделе« Compound Commands » –
Семантика« if »действительно описана в этом разделе как ключевое слово для формирования составных команд. Это не команда. –