Linux Bash脚本理解的问题

我看到一段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"