Skip to main content

A number of special variables that you can use in your shell scripts.

#!/bin/bash

# $0
#   The filename of the current script.
#
# $n
#   These variables correspond to the arguments with which a script was invoked.
#   Here n is a positive decimal number corresponding to the position of an
#   argument (the first argument is $1, the second argument is $2, and so on).
#
# $#
#   The number of arguments supplied to a script.
#
# $*
#   All the arguments are double quoted. If a script receives two arguments, $*
#   is equivalent to $1 $2.
#
# $@
#   All the arguments are individually double quoted. If a script receives two
#   arguments, $@ is equivalent to $1 $2.
#
# $?  The exit status of the last command executed.
#
# $$
#   The process number of the current shell. For shell scripts, this is the
#   process ID under which they are executing.
#
# $!
#   The process number of the last background command.
#

# Example

which git > /dev/null 2>&1

if [[ $? == 0 ]]; then
  echo "which git command executed successfull."
else
  echo "which git command failed."
fi