Command line parameters in shell scripts

Command line parameters are a way to pass information into a program or script in order for it to do what you want it to. Some examples of command line parameters:

$ ls -l
$ cat textfile

The command line parameters here are the “-l” and “textfile”.

How are command line parameters accessed within a shell script? They are stored in these variables:

  • “$0”: This holds the name of the command.
  • “$1”: This holds the first parameter.
  • “$2”: This holds the second parameter.
  • “$3”: This holds the third parameter and the pattern repeats.
  • “$#”: This holds the number of parameters that have been passed.
  • “$@”: This holds all of the parameters

Lets make a simple script call it parameters.sh:

#!/bin/sh
echo "Name of script: $0"
echo "First parameter: $1"
echo "Second parameter: $2"
echo "Number of parameters: $#"
echo "All parameters: $@"

When we run the script you should get the following output
Input:

$ sh parameters.sh hello world

Output:

Name of script: parameters.sh
First parameter: hello
Second parameter: world
Number of parameters: 2
All parameters: hello world
Related Post