问题描述
- Linux Bash脚本理解的问题
-
我看到一段bash脚本,请问怎么理解?这个hide 和下面的 ${hide} echohide := @ 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没有初始化值,则将hide初始化为 @,
${hide} //表示引用变量 hide,它的值为 @, 也就是 ${hide} echo "hello world" 等同于 @echo "hello world"
解决方案三:
hide 变量
${hide} 引用这个变量
echo 显示
时间: 2024-09-19 09:21:49