我看到一段bash脚本,请问怎么理解?这个hide 和下面的 ${hide} echo
hide := @
SHOWTIMECMD := date "+%Y/%m/%d H:%M:%S"
ifeq ($(TRUSTZONE_PARTITION),yes)
ifneq ($(wildcard $(TRUST_TEE_WD)/build.sh),)
$(hide) echo $(SHOWTIME) $@ ing ...
$(hide) echo -e \\t\\t\\t\\b\\b\\b\\bLOG: $(LOG_DIR)$(PROJECT_NAME)_$@.log
$(hide) rm -f $(LOG_DIR)$(PROJECT_NAME)_$@.log $(LOG_DIR)$(PROJECT_NAME)_$@.log_err
$(hide) $(SHELL) $(TZ_BUILD_SCRIPT) $(PROJECT_NAME) $(DEAL_STDOUT)
$(hide) cp -f $(TRUST_TEE_IMAGES) $(LOG_DIR)/$(PROJECT_NAME)/
else
$(hide) echo Not find $(TRUST_TEE_WD)/build.sh, skip $@.
endif
else
$(hide) echo Not support $@.
endif
欢迎讨论,谢谢!
这个脚本应该是Makefile里面的吧。MakeFile里面的命令加上@后不会把这一行命令内容打印出来。否则echo的内容 就会打印两次了。
hide 变量
${hide} 引用这个变量
echo 显示
hide := @ //如果hide没有初始化值,则将hide初始化为 @,
${hide} //表示引用变量 hide,它的值为 @, 也就是 ${hide} echo "hello world" 等同于 @echo "hello world"