🖥️if-then-else

➡️This is a command-line reference manual for commands and command combinations that you don’t use often enough to remember it. This cheatsheet explains the if-then-else command with important options and switches using examples.

▁ ▂ ▃ ▄ ꧁ 🔴☠ COMMANDLINE-KUNGFU WITH CHEATSHEETS ☠🔴꧂▅ ▃ ▂ ▁

#  ██╗███████╗    ███████╗██╗     ███████╗███████╗ ████████╗██╗  ██╗ █████╗ ███╗   ██╗| #
#  ██║██╔════╝    ██╔════╝██║     ██╔════╝██╔════╝ ╚══██╔══╝██║  ██║██╔══██╗████╗  ██║| #
#  ██║█████╗█████╗█████╗  ██║     ███████╗█████╗█████╗██║   ███████║███████║██╔██╗ ██║| #
#  ██║██╔══╝╚════╝██╔══╝  ██║     ╚════██║██╔══╝╚════╝██║   ██╔══██║██╔══██║██║╚██╗██║| #
#  ██║██║         ███████╗███████╗███████║███████╗    ██║   ██║  ██║██║  ██║██║ ╚████║| #
#  ╚═╝╚═╝         ╚══════╝╚══════╝╚══════╝╚══════╝    ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝| #

# Shell scripts use fairly standard syntax for if statements. The conditional statement is executed using either the test command or the [ command. In its most basic form an if statement is:
#!/bin/bash

if [ "$#" -gt 0 ]
then
    echo "There's Beans"
fi

if [ "$1" = "cool" ]
then
echo "Cool Beans"
fi

(Notice that the fi is simply if spelled backwards). To add an else, we just use standard syntax.
#!/bin/bash

if [ "$1" = "cool" ]
then
    echo "Cool Beans"
else
    echo "Not Cool Beans"
fi

# Adding an else-if statement structure is used with the elif command.
#!/bin/bash

if [ "$1" = "cool" ]
then
    echo "Cool Beans"
elif [ "$1" = "neat" ]
then
    echo "Neato cool"
else
    echo "Not Cool Beans"
fi

An if statement does not require two parameters. You can use single flags as well. The following code tests to see if the first parameter is a file or not.
#!/bin/bash

if [ -f "$1" ]
then
    echo "$1 is a file"
else
    echo "$1 is not a file"
fi

# There are many different ways that an conditional statement can be used. These are summarized here:

# String Comparison		Description
	Str1 = Str2			Returns true if the strings are equal
	Str1 != Str2			Returns true if the strings are not equal
	-n Str1				Returns true if the string is not null
	-z Str1				Returns true if the string is null

# Numeric Comparison		Description
	expr1 -eq expr2			Returns true if the expressions are equal
	expr1 -ne expr2			Returns true if the expressions are not equal
	expr1 -gt expr2			Returns true if expr1 is greater than expr2
	expr1 -ge expr2			Returns true if expr1 is greater than or equal to expr2
	expr1 -lt expr2			Returns true if expr1 is less than expr2
	expr1 -le expr2			Returns true if expr1 is less than or equal to expr2
	! expr1				Negates the result of the expression

# File Conditionals		Description
	-d file				True if the file is a directory
	-e file				True if the file exists (note that this is not particularly portable, thus -f is generally used)
	-f file				True if the provided string is a file
	-g file				True if the group id is set on a file
	-r file				True if the file is readable
	-s file				True if the file has a non-zero size
	-u				True if the user id is set on a file
	-w				True if the file is writable
	-x				True if the file is an executable
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░