为什么我的 bash 脚本打印两次相同的文本行

为什么我的 bash 脚本打印两次相同的文本行

我有一个脚本:

#!/bin/bash

# Font colors
STR_RESET="\e[0m"
STR_BLUE="\e[1m\e[34m"
...
echo -e "${STR_BLUE}Building openssl for linux-x86 $VERSION_FILE${STR_RESET}"
...

输出

+ echo -e '\e[1m\e[34mBuilding openssl for linux-x86\e[0m'
Building openssl for linux-x86

第二行显示正确的粗体字体,颜色为蓝色。但是我该如何删除第一行?

答案1

看来您正在使用调试选项执行脚本。请参阅调试 Bash 脚本文档。但我不知道你是如何开始的。

尝试将其放在set +x脚本的开头以禁用调试。

答案2

set -x假设:在 之前的脚本中有echo

-x
在简单命令展开之后、执行之前打印它们的踪迹 [...]。

来源

解决方法:删除set -x

相关内容