
sh Command in Linux
The sh command, short for "shell," is one of the most fundamental commands in Linux. It is used to invoke the shell interpreter to execute scripts, commands, or even interactive sessions. Essentially, the sh utility acts as a bridge between the user and the underlying operating system, processing instructions provided in shell script files or directly from the command line.
Although sh historically refers to the Bourne shell, in modern systems, it often points to a compatible shell like Bash. The sh tool is widely used for running shell scripts and automating tasks in Linux environments.
Table of Contents
Here is a comprehensive guide to the options available with the sh command â
Syntax of sh Command
The syntax for utilizing the sh command is simple and efficient −
sh [options] [script_file] [arguments]
Hereâs a breakdown of the components −
- [options] − Flags that modify the behavior of the shell.
- [script_file] − The script you want to run using the shell interpreter.
- [arguments] − Additional inputs required by the script.
sh Command Options
The sh command includes a variety of options to customize its functionality. Below are some commonly used ones −
Option | Description |
---|---|
-c | Executes commands passed as a string argument. |
-s | Reads commands from the standard input. |
-i | Starts the shell in interactive mode. |
--help | Displays help information about the usage of the command. |
--version | Shows the current version of the shell. |
Examples of sh Command in Linux
Letâs take a look at some examples to understand how to use the sh command in different situations −
- Running a Shell Script
- Executing Inline Commands
- Reading Commands from Standard Input
- Running the Shell in Interactive Mode
Running a Shell Script
To execute a shell script named script.sh, you can use the following command −
sh script.sh
In this example, the shell interpreter reads and runs the instructions in script.sh. This is one of the most common uses of the sh utility.

Executing Inline Commands
You can execute a single-line shell command using the -c option −
sh -c "echo Hello, World!"
This example demonstrates the use of the -c flag to pass a command as a string, which is then executed by the shell interpreter.

Reading Commands from Standard Input
If you want to run commands interactively via standard input, use the -s flag −
echo "ls -l" | sh -s
In this case, the shell reads the ls -l command from the input and executes it.

Running the Shell in Interactive Mode
To start an interactive shell session, use the -i option −
sh -i
This opens a shell prompt where you can enter commands manually, making it ideal for debugging or experimentation.

Conclusion
The sh command is an essential utility in Linux, offering users a straightforward way to execute scripts, run commands, and interact with the shell environment. Its flexibility and simplicity make it a valuable tool for both beginners and experienced Linux users.
By mastering the sh utility, you can efficiently automate repetitive tasks, debug scripts, and optimize your Linux workflow. Whether youâre running a basic script or diving into interactive sessions, the sh command provides the necessary tools to execute your tasks seamlessly.