Bash Scripting
Shebang
Variables
public_var="value"
local local_var="local_value" # local variable inside function
echo $public_var # access variable value
echo $0 # access script name
echo $1 # access first script argument
echo $@ # access all script arguments
echo $# # access number of script arguments
echo $$ # access current script PID
echo $? # access last command exit code
Arrays
Indexed
array=("value1" "value2" "value3")
echo ${array[0]} # access first element
echo ${array[@]} # access all elements
Associative
declare -A assoc_array=(
["key1"]="value1"
["key2"]="value2"
)
echo ${assoc_array["key1"]} # access value by key
echo ${!assoc_array[@]} # access all keys
echo ${assoc_array[@]} # access all values
Loops
Numeric (c-style) - fastest loop
Array
Infinite
Exit Codes
0 = Match Found / Success
echo $?: 0
1 = No Match Found
echo $?: 1
2 = Syntax or File Error
echo $?: 2
Avoid Error Stopping Script Execution
option 1 (fastest):
option 2:
option 3:
option 4: