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