The difference between parameter and variable in bash
Last Updated on Friday, 01 April 2011 18:20
| Article Index |
|---|
| 1. Variable |
| 2. Positional parameter |
| 3. Special Parameters |
Question:
Hi, in bash context what is the difference between parameter and variable?
Answer:
In a bash context a parameter is an entity that stores values. Furthermore, a parameter can be a name ( variable ), number ( positional parameter ) or special character ( special parameter ). Therefore, a variable is a parameter denoted by a name. ( see: man bash ). Let's have a closer look on all three bash parameters:
1. Variable
Variable has a value assigned to it. It also can have 0 or more attributes. A value may be assigned to a variable by a following statement:
name=[value]
Example:
#!/bin/bash myname="Gnu Bash" printf "%s\n" "$myname"
2. Positional parameter
Positional parameter is denoted by one or digits. It is assigned by one or more arguments supplied to a script upon the script execution.
Example:
#!/bin/bash printf "%s\n" "My name is $1 $2"
3. Special Parameters
Special parameters are denoted by a one or more special characters from a following list: *, @, #, ?, -, $, !, 0 and _ . For example * expands to positional parameters. In other words it prints all arguments supplied on the command line upon the script execution:
#!/bin/bash echo $*
OUTPUT:
./special GNU Bash parameter vs variable GNU Bash parameter vs variable
















