Problem :
I have a script:
#!/bin/bash
# Font colors
STR_RESET="e[0m"
STR_BLUE="e[1me[34m"
...
echo -e "${STR_BLUE}Building openssl for linux-x86 $VERSION_FILE${STR_RESET}"
...
Outputs
+ echo -e 'e[1me[34mBuilding openssl for linux-x86e[0m'
Building openssl for linux-x86
The second line shows the correct bold font with blue color. But how can I remove the first line?
Solution :
It seems you are executing your script with debug options. See the Debugging Bash scripts documentation. But I don’t know how you started it.
Try putting set +x
at the beginning of your script to disable debugging.
Hypothesis: there is set -x
in the script just before echo
.
-x
Print a trace of simple commands […] after they are expanded and before they are executed.
(source)
Solution: remove set -x
.