4 min read
Shell Scripting Cheat Sheet
Shell scripting is a way to automate tasks by writing scripts (sequences of commands) in a text file, which the shell can execute.

Basic Shell Scripting Commands:
1. #!/bin/bash
- Purpose: This is called the shebang line. It specifies the interpreter for the script (in this case, Bash). The script will be executed by the Bash shell.
- Example: This script will print “Hello, World!” to the screen.
#!/bin/bash echo "Hello, World!"
2. echo
- Purpose: The echo command is used to print a message or the value of a variable to the terminal.
- Usage :Example:
- echo “Message” – Prints a string to the terminal.
- echo $variable – Prints the value stored in a variable.
echo "Hello, World!"
name="Alice"
echo "Hello, $name"
3. Variables
- Purpose: Variables are used to store data that can be reused later in the script.
- Usage: Example:
- variable_name=“value” – Declare and assign a value to a variable.
- echo $variable_name – Access the value of a variable.
name="Alice"
echo "Hello, $name" # Output: Hello, Alice
4. Conditionals (if/else)
- Purpose: Conditional statements allow the execution of commands based on whether a condition is true or false.
- Usage:
if \[ condition \]; then
# command if condition is true
else
# command if condition is false
fi
#!/bin/bash
number=5 # No spaces around '=' in variable assignment
if \[ "$number" -eq 5 \]; then
echo "The number is 5 buddy"
else
echo "Teri lowwde"
fi
- Example:
if \[ $name == "Alice" \]; then
echo "Hello, Alice!"
else
echo "You're not Alice."
fi
- This checks if the variable name is equal to “Alice” and prints a message accordingly.
5. Loops (for/while)
- Purpose: Loops allow repeated execution of commands. Useful for iterating over items or performing repetitive tasks.
- For Loop:
for i in 1 2 3; do
echo "Loop $i"
done
- This will loop through the numbers 1, 2, and 3, printing each one.
- While Loop:
count=1
while \[ $count -le 5 \]; do
echo "Counter: $count"
((count++))
done
- This will increment count from 1 to 5 and print the value of count each time.
6. Reading Input
- Purpose: Accept user input during the execution of a script.
- Usage:
read variable\_name
echo "You entered: $variable\_name"
- Example:
echo "Enter your name:"
read name
echo "Hello, $name!"
7. Functions
- Purpose: Functions allow you to group related commands together and reuse them within your script.
- Usage:
my\_function() {
echo "This is a function"
}
my\_function # Call the function
- Example:
greet() {
echo "Hello, $1!"
}
greet "Alice" # Output: Hello, Alice!
- $1 refers to the first argument passed to the function.
8. Making a Script Executable
- Purpose: Allows you to run a script as if it were a command from the terminal.
- Steps:
Make the script executable using chmod:
chmod +x script\_name.sh
Run the script by calling it directly:
./script\_name.sh
- This allows you to execute the script without explicitly invoking the interpreter (e.g., bash script_name.sh).
9. Comments
- Purpose: Comments are used to explain parts of your script and make it easier to understand.
- Usage:
\# This is a single-line comment
- Example:
\# This script greets the user echo "Hello, User!"
10. File Redirection and Pipes
- Purpose: Shell scripting allows you to redirect input/output or pipe the output of one command to another.
- Redirection:
- > – Redirects output to a file (overwrites).
- >> – Redirects output to a file (appends).
- Pipes:
- | – Pipes the output of one command to another.
- Examples:
echo "Hello, World!" > output.txt # Redirects to a file
cat output.txt # Display the contents of output.txt
ls | grep "file" # Pipe the output of ls to grep
11. Exit Status
- Purpose: Every command in a script returns an exit status code, which indicates whether the command was successful.
- 0 – Success
- Non-zero — Error
- Usage:
if \[ $? -eq 0 \]; then
echo "Last command was successful."
else
echo "Last command failed."
fi Tags
Related Articles
Understanding Type Systems: Dynamic, Static, Strong, and Weak Typing
Few topics in programming spark as many debates as type systems. You’ve probably heard arguments like: * “Static typing prevents bugs.” * “Dynamic typing ma...
typepython
Four Buzzwords, Four Meanings: AI vs DS vs ML vs DL
If you’re new to tech, you’ve probably heard people say things like: * “I work in AI” * “This is a Machine Learning project” * “Data Science is the future”...
artificial-intelligencemachine-learning
Why Binary Search Is Preferred Over Ternary Search Despite log₃(n)
Algorithms rarely fail because they are incorrect. They fail because assumptions that look valid mathematically do not survive contact with real machines. Tern...
visualizationternary-search