04. Positional Parameters and Special Characters $1, shift, $#, $@, $0, $$

Positional parameters are used to access the command-line arguments. These are the trailing words that come after the command line call.

$ myShellScript posParam1 posParam2 posParam3                  

The first argument is denoted by $1, the second by $2, and so on. Any two-digit values are to be wrapped around in braces such as ${10}.

The $0 variable is the name of the command itself. This can be useful when printing out error messages.

Unset positional parameters

If the user does not input any arguments, but you still call a positional parameter, then the shell takes it in as null.

Shifting parameters over

The shift command is used to shift the arguments over one. This removes the first argument, and advances the rest of the input arguments forward. We'll revisit this when using loops, where this command can be useful.

Other Positional Parameters & Special Characters

Here is a list of other important parameters.

$#
Number of arguments.
Print the number of arguments passed in.
Can be used with the shift variable within a loop.
$@
All arguments.
Access all arguments at once.
Useful when invoking a command within the script, and require the user-specified options in original command.
$$
Holds the process ID of the shell.
$?
Exit status of previous command.
$!
Process ID of last background command.

Take your Linux skills to the next level!

The Linux Command Line

Take your Linux skills to the next level! Try Linux & UNIX

The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell. Along the way you'll learn the timeless skills handed down by generations of gray-bearded, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more.

$ Check price
39.9539.95Amazon 4.5 logo(274+ reviews)

More Linux & UNIX resources

Aching back from coding all day?

Self-Massage Tool

Aching back from coding all day? Try Back Problems

Relieve spasms, tight muscles, trigger points and pressure points with the Body Back Buddy! This trigger point massage is designed to help you self-message any area of your body - especially those that are hard to reach. Keeping your muscles relaxes and out of contraction is importan in helping to reduce pain and prevent muscle injury.

$ Check price
29.9529.95Amazon 4.5 logo(3,443+ reviews)

More Back Problems resources

Ad