Swiftorial Logo
Home
Swift Lessons
Tutorials
Learn More
Career
Resources

Basic Syntax in Shell Scripting

This tutorial provides a detailed explanation of the basic syntax used in shell scripting.

1. Shebang

The first line of a shell script typically starts with a shebang (#!) followed by the path to the interpreter. This tells the system which interpreter to use to execute the script. The most common shebang for bash scripts is:

#!/bin/bash

Example:

#!/bin/bash
echo "Hello, World!"

In this example, #!/bin/bash tells the system to use the Bash interpreter to execute the script.

2. Comments

Comments are lines that are not executed by the script. They are useful for adding notes or explanations within the code. In shell scripting, comments start with a # symbol:

# This is a comment

Comments can be used to document the purpose of the script, describe the functionality of certain sections, or explain complex lines of code. Example:

#!/bin/bash
# This script prints a greeting message
echo "Hello, World!"

3. Commands

Shell scripts are composed of commands that are executed in sequence. Each command is typically written on a new line. Example:

#!/bin/bash
echo "Starting script..."
date
echo "Script completed."

In this example, three commands are executed: echo prints messages to the terminal, and date displays the current date and time.

4. Exit Status

Every command executed in a shell script returns an exit status, which indicates whether the command was successful. A command returns an exit status of 0 if it succeeds and a non-zero value if it fails. You can access the exit status of the last executed command using the special variable $?:

#!/bin/bash
ls /nonexistent_directory
echo "Exit status: $?"

In this example, the ls command attempts to list a non-existent directory, which results in a failure. The exit status is then printed, showing a non-zero value.

5. Quoting

Quoting is important in shell scripting to handle strings with spaces, special characters, or variables. There are three types of quoting:

5.1. Single Quotes

Single quotes (') preserve the literal value of each character within the quotes. Variables are not expanded:

#!/bin/bash
echo 'Hello, $USER'

This script will output the literal string Hello, $USER.

5.2. Double Quotes

Double quotes (") preserve the literal value of most characters within the quotes but allow variable expansion and command substitution:

#!/bin/bash
echo "Hello, $USER"

This script will output Hello, followed by the value of the $USER variable.

5.3. Backticks and $( ) for Command Substitution

Command substitution allows the output of a command to be used as part of another command. You can use backticks (`) or $( ):

#!/bin/bash
echo "Today is $(date)"

This script will output Today is followed by the current date and time.

6. File Permissions

To execute a shell script, you need to have execute permissions for the script file. You can set the execute permission using the chmod command:

chmod +x script.sh

After setting the execute permission, you can run the script using:

./script.sh

7. Conclusion

In this tutorial, you learned the basic syntax of shell scripting, including the shebang, comments, commands, exit status, quoting, and file permissions. Understanding these fundamental concepts is essential for writing and executing shell scripts effectively.