Many of us still wonder about what $ symbol stands for, some of us know that $ stands for shell prompt for user and # stands for shell prompt for root in many Unix systems, but we have different meanings for different types of symbols associated with $ as below.
$ Symbol is used in UNIX as variable in sometimes and sometimes its used to define some variables.
In first case we have many variables associated with $ as below.
$? = Stores last commands exit Status
$$ = Stores PID of the current process.
S# = Stores number of passed parameters
$*/$@ = Lists all the passed parameters
$0 = Stores the Program or Script name
$1 - $9 = Stores the first 9 Parameters passed to the script.
For Second case :
We have some variables set for environment like
$USER ... etc.
and we can define the values using $ Symbol once
bash-3.00$ echo $x