Bash-common-checks

From I Will Fear No Evil
Jump to navigation Jump to search

Common checks and validations that are a PITA to remember

Is Integer?

  • Check if a var is an integer
  • support negative as well as positive integer values using extended regex
VAR=123
if [[ ${VAR} =~ ^-?[0-9]+$ ]]; then
  echo "Is integer"
else
  echo "Is not integer"
fi

TCP port check

  • leverage /dev
  • use timeout for sanity
  • Use for any kind of TCP knock
  • do not use FQDN, go by IP
IP=192.168.15.100
timeout 1 bash -c "</dev/tcp/${IP}/22"
if [[ $? -ne 0 ]]; then
  echo "ssh port closed at $IP"
else
  echo "ssh port open at $IP"
fi

Find what using inodes

  • use sudo if you are going against /
find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n

Make a banner

skull(){
cat << EIEIO
*************************************************************
*                                                           *
*   .=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-.      *
*   |                     ______                     |      *
*   |                  .-"      "-.                  |      *
*   |                 /            \                 |      *
*   |     _          |              |          _     |      *
*   |    ( \         |,  .-.  .-.  ,|         / )    |      *
*   |     > "=._     | )(__/  \__)( |     _.=" <     |      *
*   |    (_/"=._"=._ |/     /\     \| _.="_.="\_)    |      *
*   |           "=._"(_     ^^     _)"_.="           |      *
*   |               "=\__|IIIIII|__/="               |      *
*   |              _.="| \IIIIII/ |"=._              |      *
*   |    _     _.="_.="\          /"=._"=._     _    |      *
*   |   ( \_.="_.="     '--------'     "=._"=._/ )   |      *
*   |    > _.="                            "=._ <    |      *
*   |   (_/                                    \_)   |      *
*   |                                                |      *
*   '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='      *
*                                                           *
*                   Abandon All Hope                        *
*************************************************************/
EIEIO
}
# abandon all hope ye who enter here
skull