aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xspectre-meltdown-checker.sh20
1 files changed, 17 insertions, 3 deletions
diff --git a/spectre-meltdown-checker.sh b/spectre-meltdown-checker.sh
index bc2f1c2..32f7442 100755
--- a/spectre-meltdown-checker.sh
+++ b/spectre-meltdown-checker.sh
@@ -97,17 +97,31 @@ global_critical=0
global_unknown=0
nrpe_vuln=""
+echo_cmd=''
__echo()
{
opt="$1"
shift
_msg="$@"
+
+ if [ -z "$echo_cmd" ]; then
+ # find a sane `echo` command
+ # we'll try to avoid using shell builtins that might not take options
+ if which echo >/dev/null 2>&1; then
+ echo_cmd=`which echo`
+ else
+ [ -x /bin/echo ] && echo_cmd=/bin/echo
+ [ -x /system/bin/echo ] && echo_cmd=/system/bin/echo
+ fi
+ # still empty ? fallback to builtin
+ [ -z "$echo_cmd" ] && echo_cmd=echo
+ fi
+
if [ "$opt_no_color" = 1 ] ; then
# strip ANSI color codes
- _msg=$(/bin/echo -e "$_msg" | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g")
+ _msg=$($echo_cmd -e "$_msg" | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g")
fi
- # explicitly call /bin/echo to avoid shell builtins that might not take options
- /bin/echo $opt -e "$_msg"
+ $echo_cmd $opt -e "$_msg"
}
_echo()