Last active
December 26, 2020 22:21
-
-
Save shoemoney/27ec057abedc570f78afc8cffa4e49d3 to your computer and use it in GitHub Desktop.
Bash Scripting Cheatsheat
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ########################################################################### | |
| ## This is a list of commands to aid in scripting for the bash shell. ### | |
| ########################################################################### | |
| #.....................| | |
| #Arithmetic Operators | | |
| #.....................| | |
| + (Addition) Adds values on either side of the operator `expr $a + $b` will give 30 | |
| - (Subtraction) Subtracts right hand operand from left hand operand `expr $a - $b` will give -10 | |
| * (Multiplication) Multiplies values on either side of the operator `expr $a \* $b` will give 200 | |
| / (Division) Divides left hand operand by right hand operand `expr $b / $a` will give 2 | |
| % (Modulus) Divides left hand operand by right hand operand and returns remainder `expr $b % $a` will give 0 | |
| = (Assignment) Assigns right operand in left operand a = $b would assign value of b into a | |
| == (Equality) Compares two numbers, if both are same then returns true. [ $a == $b ] would return false. | |
| != (Not Equality) Compares two numbers, if both are different then returns true. [ $a != $b ] would return true. | |
| ** It is very important to understand that all the conditional expressions should be inside square braces with spaces around them, for example [ $a == $b ] is correct whereas, [$a==$b] is incorrect. | |
| #.....................| | |
| #..Relational Operators | |
| #.....................| | |
| #/ Assume variable a holds 10 and variable b holds 20 then | |
| -eq Checks if the value of two operands are equal or not; if yes, then the condition becomes true. [ $a -eq $b ] is not true. | |
| -ne Checks if the value of two operands are equal or not; if values are not equal, then the condition becomes true. [ $a -ne $b ] is true. | |
| -gt Checks if the value of left operand is greater than the value of right operand; if yes, then the condition becomes true. [ $a -gt $b ] is not true. | |
| -lt Checks if the value of left operand is less than the value of right operand; if yes, then the condition becomes true. [ $a -lt $b ] is true. | |
| -ge Checks if the value of left operand is greater than or equal to the value of right operand; if yes, then the condition becomes true. [ $a -ge $b ] is not true. | |
| -le Checks if the value of left operand is less than or equal to the value of right operand; if yes, then the condition becomes true. [ $a -le $b ] is true. | |
| It is very important to understand that all the conditional expressions should be placed inside square braces with spaces around them. For example, [ $a <= $b ] is correct whereas, [$a <= $b] is incorrect. | |
| #.....................| | |
| # Boolean Operators | |
| #.....................| | |
| Assume variable a holds 10 and variable b holds 20 then − | |
| ! This is logical negation. This inverts a true condition into false and vice versa. [ ! false ] is true. | |
| -o This is logical OR. If one of the operands is true, then the condition becomes true. [ $a -lt 20 -o $b -gt 100 ] is true. | |
| -a This is logical AND. If both the operands are true, then the condition becomes true otherwise false. [ $a -lt 20 -a $b -gt 100 ] is false. | |
| #.....................| | |
| # String Operators | |
| #.....................| | |
| The following string operators are supported by Bourne Shell. | |
| Assume variable a holds "abc" and variable b holds "efg" then − | |
| = Checks if the value of two operands are equal or not; if yes, then the condition becomes true. [ $a = $b ] is not true. | |
| != Checks if the value of two operands are equal or not; if values are not equal then the condition becomes true. [ $a != $b ] is true. | |
| -z Checks if the given string operand size is zero; if it is zero length, then it returns true. [ -z $a ] is not true. | |
| -n Checks if the given string operand size is non-zero; if it is nonzero length, then it returns true. [ -n $a ] is not false. | |
| str Checks if str is not the empty string; if it is empty, then it returns false. [ $a ] is not false. | |
| #.....................| | |
| #File Test Operators | |
| #.....................| | |
| Operator Description Example | |
| -b file Checks if file is a block special file; if yes, then the condition becomes true. [ -b $file ] is false. | |
| -c file Checks if file is a character special file; if yes, then the condition becomes true. [ -c $file ] is false. | |
| -d file Checks if file is a directory; if yes, then the condition becomes true. [ -d $file ] is not true. | |
| -f file Checks if file is an ordinary file as opposed to a directory or special file; if yes, then the condition becomes true. [ -f $file ] is true. | |
| -s file Checks if file has size greater than 0; if yes, then condition becomes true. [ -s $file ] is true. | |
| -e file Checks if file exists; is true even if file is a directory but exists. [ -e $file ] is true. | |
| These are ones I find most valuable compiled from Sources: | |
| https://www.tutorialspoint.com/unix/unix-basic-operators.htm |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment