Here are the various fixes done:
- printf can interpret sequences, therefore you want to give variable as
a different argument
- ! [ -z "$VAL" ] <=> [ -n "$VAL" ] <=> [ "$VAL" ]
- double quote on variables to prevent globbing and word splitting
- printf "[\e[1;31m$NAME\e[1;0m]: \e[1;3m$FILENAME\e[1;0m\n"
+ printf '[\e[1;31m%s\e[1;0m]: \e[1;3m%s\e[1;0m\n' "$NAME" "$FILENAME"
- printf "[\e[1;33m$NAME\e[1;0m]: \e[1;3m$FILENAME\e[1;0m\n"
+ printf '[\e[1;33m%s\e[1;0m]: \e[1;3m%s\e[1;0m\n' "$NAME" "$FILENAME"
- printf "[\e[1;36m$NAME\e[1;0m]: \e[1;3m$FILENAME\e[1;0m\n"
+ printf '[\e[1;36m%s\e[1;0m]: \e[1;3m%s\e[1;0m\n' "$NAME" "$FILENAME"
- if [ "$SKIP_OK" = false ]; then
- printf "[\e[1;32m$NAME\e[1;0m]: \e[1;3m$FILENAME\e[1;0m\n"
- fi
+ [ "$SKIP_OK" = false ] &&
+ printf '[\e[1;32m%s\e[1;0m]: \e[1;3m%s\e[1;0m\n' "$NAME" "$FILENAME"
else
log WARN "$NAME" "$FILENAME" "$HELP"
fi
else
log WARN "$NAME" "$FILENAME" "$HELP"
fi
- if ! [ -z "$HELP" ]; then
log HELP "$NAME" "$FILENAME" "$HELP"
else
log HELP "$NAME" "$FILENAME" "_No help available._"
log HELP "$NAME" "$FILENAME" "$HELP"
else
log HELP "$NAME" "$FILENAME" "_No help available._"
echo -e "\e[1;3mStarting to check your \e[1;36m\$HOME.\e[1;0m"
echo -e ""
for prog_filename in ./programs/*; do
echo -e "\e[1;3mStarting to check your \e[1;36m\$HOME.\e[1;0m"
echo -e ""
for prog_filename in ./programs/*; do
- check_program "$(cat $prog_filename)"
+ check_program "$(cat "$prog_filename")"
done
echo -e "\e[1;3mDone checking your \e[1;36m\$HOME.\e[1;0m"
echo -e ""
done
echo -e "\e[1;3mDone checking your \e[1;36m\$HOME.\e[1;0m"
echo -e ""