An Interest In:
Web News this Week
- March 21, 2024
- March 20, 2024
- March 19, 2024
- March 18, 2024
- March 17, 2024
- March 16, 2024
- March 15, 2024
The Only Bash Scripting Cheat Sheet That You Will Ever Need
Introduction
No matter if you are a DevOps/SysOps engineer, developer, or just a Linux enthusiast, you can use Bash scripts to combine different Linux commands and automate boring and repetitive daily tasks, so that you can focus on more productive and fun things.
Here you can find the completed Bash Scripting cheat sheet
Bash Script Header (Shebang)
Option 1:
#!/bin/bash
Option 2:
#!/usr/bin/env bash
Variables
#!/bin/bashname="DevDojo"echo "Hi there $name"
User Input
#!/bin/bashecho "What is your name?"read nameecho "Hi there $name"echo "Welcome to DevDojo!"
Comments
To do that in bash you need to add the # symbol at the beginning of the line. Comments will never be rendered on the screen.
# This is a comment and will not be rendered on the screen
Arguments
#!/bin/bashecho "Argument one is $1"echo "Argument two is $2"echo "Argument three is $3"
Then run the file and pass 3 arguments:
bash ./arguments.sh dog cat bird
Arrays
my_array=("value 1" "value 2" "value 3" "value 4")# Access a single element, this would output: value 2echo ${my_array[1]}# This would return the last element: value 4echo ${my_array[-1]}# This would output the total number of elements in the array, in our case it is 4:echo ${my_array[@]}
Conditional Expressions
File expressions
## True if file exists.[[ -a ${file} ]]## True if file exists and is a block special file.[[ -b ${file} ]]## True if file exists and is a character special file.[[ -c ${file} ]]## True if file exists and is a directory.[[ -d ${file} ]]## True if file exists.[[ -e ${file} ]]## True if file exists and is a regular file.[[ -f ${file} ]]## True if file exists and is a symbolic link.[[ -h ${file} ]]## True if file exists and is readable.[[ -r ${file} ]]## True if file exists and has a size greater than zero.[[ -s ${file} ]]## True if file exists and is writable.[[ -w ${file} ]]## True if file exists and is executable.[[ -x ${file} ]]## True if file exists and is a symbolic link.[[ -L ${file} ]]
String expressions
# True if the shell variable varname is set (has been assigned a value).[[ -v ${varname} ]]# True if the length of the string is zero.[[ -z ${string} ]]# True if the length of the string is non-zero.[[ -n ${string} ]]# True if the strings are equal. = should be used with the test command for POSIX conformance. When used with the [[ command, this performs pattern matching as described above (Compound Commands)[[ ${string1} == ${string2} ]]# True if the strings are not equal.[[ ${string1} != ${string2} ]]# True if string1 sorts before string2 lexicographically.[[ ${string1} < ${string2} ]]# True if string1 sorts after string2 lexicographically.[[ ${string1} > ${string2} ]]
Arithmetic operators
# Returns true if the numbers are equal[[ ${arg1} -eq ${arg2} ]]# Returns true if the numbers are not equal[[ ${arg1} -ne ${arg2} ]]# Returns true if arg1 is less than arg2[[ ${arg1} -lt ${arg2} ]]# Returns true if arg1 is less than or equal arg2[[ ${arg1} -le ${arg2} ]]# Returns true if arg1 is greater than arg2[[ ${arg1} -gt ${arg2} ]]# Returns true if arg1 is greater than or equal arg2[[ ${arg1} -ge ${arg2} ]]# As with other programming languages you can use AND & OR conditions:[[ test_case_1 ]] && [[ test_case_2 ]] # And[[ test_case_1 ]] || [[ test_case_2 ]] # Or
Conditionals
#!/bin/bash# Bash if statement exampleread -p "What is your name? " nameif [[ -z ${name} ]]then echo "Please enter your name!"else echo "Hi there ${name}"fi
Loops
For loops
#!/bin/bashusers="devdojo, bobby, tony"for user in ${users}do echo "${user}"done
While loops
#!/bin/bashcounter=1while [[ $counter -le 10 ]]do echo $counter ((counter++))done
Until Loops
#!/bin/bashcount=1until [ $count -gt 10 ]do echo $count ((count++))done
Functions
function function_name() { your_commands}
Example
#!/bin/bashfunction hello(){ echo "Hello World Function!"}hello
Conclusion
For a more in-depth explanations check out this online guide here:
If you want to learn more about Bash Scripting check out this free eBook here:
Introduction to Bash Scripting
If you prefer video content, you could take a look at this mini video crash course here:
Introduction to Bash Scripting Mini Video Crash Course
You can follow me on Twitter at: @bobbyiliev_
Original Link: https://dev.to/bobbyiliev/the-only-bash-scripting-cheat-sheet-that-you-will-ever-need-55c7
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To