diff --git a/prowler b/prowler index e3c3c543..30766805 100755 --- a/prowler +++ b/prowler @@ -26,30 +26,15 @@ # Exits if any error is found # set -e -# Colors -NORMAL="" -WARNING="" # Bad (red) -SECTION="" # Section (yellow) -NOTICE="" # Notice (yellow) -OK="" # Ok (green) -BAD="" # Bad (red) -CYAN="" -BLUE="" -BROWN="" -DARKGRAY="" -GRAY="" -GREEN="" -MAGENTA="" -PURPLE="" -RED="" -YELLOW="" -WHITE="" +OPTRED="" +OPTNORMAL="" # Set the defaults for these getopts variables PROFILE="default" REGION="us-east-1" FILTERREGION="" MAXITEMS=100 +MONOCHROME=0 # Command usage menu usage(){ @@ -61,17 +46,20 @@ usage(){ -c specify a check number or group from the AWS CIS benchmark (i.e.: check11 for check 1.1 or check3 for entire section 3) -f specify an AWS region to run checks against (i.e.: us-west-1) -m specify the maximum number of items to return for long-running requests (default: 100) + -b do not use colors in the output -h this help " exit } -while getopts "hp:r:c:f:m:" OPTION; do +while getopts "hbp:r:c:f:m:" OPTION; do case $OPTION in h ) usage exit 1 ;; + b ) + MONOCHROME=1 p ) PROFILE=$OPTARG ;; @@ -88,17 +76,57 @@ while getopts "hp:r:c:f:m:" OPTION; do MAXITEMS=$OPTARG ;; : ) - echo -e "\n$RED ERROR!$NORMAL -$OPTARG requires an argument\n" + echo -e "\n$OPTRED ERROR!$OPTNORMAL -$OPTARG requires an argument\n" exit 1 ;; ? ) - echo -e "\n$RED ERROR!$NORMAL Invalid option" + echo -e "\n$OPTRED ERROR!$OPTNORMAL Invalid option" usage exit 1 ;; esac done +if [[ $MONOCHROME -eq 1 ]]; then + # Colors + NORMAL="" + WARNING="" # Bad (red) + SECTION="" # Section (yellow) + NOTICE="" # Notice (yellow) + OK="" # Ok (green) + BAD="" # Bad (red) + CYAN="" + BLUE="" + BROWN="" + DARKGRAY="" + GRAY="" + GREEN="" + MAGENTA="" + PURPLE="" + RED="" + YELLOW="" + WHITE="" +else + # Colors + NORMAL="" + WARNING="" # Bad (red) + SECTION="" # Section (yellow) + NOTICE="" # Notice (yellow) + OK="" # Ok (green) + BAD="" # Bad (red) + CYAN="" + BLUE="" + BROWN="" + DARKGRAY="" + GRAY="" + GREEN="" + MAGENTA="" + PURPLE="" + RED="" + YELLOW="" + WHITE="" +fi + # Functions to manage dates depending on OS if [[ "$OSTYPE" == "linux-gnu" ]]; then # function to compare in days, usage how_older_from_today date