Bash-common-checks: Difference between revisions

From I Will Fear No Evil
Jump to navigation Jump to search
mNo edit summary
Line 30: Line 30:
<pre>
<pre>
find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n
find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n
</pre>
====Make a banner====
<pre>
skull(){
cat << EIEIO
*************************************************************
*                                                          *
*  .=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-.      *
*  |                    ______                    |      *
*  |                  .-"      "-.                  |      *
*  |                /            \                |      *
*  |    _          |              |          _    |      *
*  |    ( \        |,  .-.  .-.  ,|        / )    |      *
*  |    > "=._    | )(__/  \__)( |    _.=" <    |      *
*  |    (_/"=._"=._ |/    /\    \| _.="_.="\_)    |      *
*  |          "=._"(_    ^^    _)"_.="          |      *
*  |              "=\__|IIIIII|__/="              |      *
*  |              _.="| \IIIIII/ |"=._              |      *
*  |    _    _.="_.="\          /"=._"=._    _    |      *
*  |  ( \_.="_.="    '--------'    "=._"=._/ )  |      *
*  |    > _.="                            "=._ <    |      *
*  |  (_/                                    \_)  |      *
*  |                                                |      *
*  '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='      *
*                                                          *
*      LASCIATE OGNI SPERANZA, VOI CH'ENTRATE              *
*************************************************************/
EIEIO
}
# abandon all hope ye who enter here
skull
</pre>
</pre>


[[Category: Bash]]
[[Category: Bash]]

Revision as of 13:36, 19 October 2021

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/ |"=._              |      *
*   |    _     _.="_.="\          /"=._"=._     _    |      *
*   |   ( \_.="_.="     '--------'     "=._"=._/ )   |      *
*   |    > _.="                            "=._ <    |      *
*   |   (_/                                    \_)   |      *
*   |                                                |      *
*   '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='      *
*                                                           *
*      LASCIATE OGNI SPERANZA, VOI CH'ENTRATE               *
*************************************************************/
EIEIO
}
# abandon all hope ye who enter here
skull