Working with command line arguments (special variables, set and shift, getopt)
Command line arguments are required for the following reasons:
- They inform the utility or command as to which file or group of files to process (reading/writing of files) 
- Command line arguments tell the command/utility which option to use 
Check the following command line:
student@ubuntu:~$  my_program   arg1  arg2  arg3
If my_command is a bash Shell script, then we can access every command line positional parameters inside the script as follows:
$0 would contain "my_program" # Command $1 would contain "arg1" # First parameter $2 would contain "arg2" # Second parameter $3 would contain "arg3" # Third parameter
The following is the summary of positional parameters:
| $0 | Shell script name or command | 
| $1–$9 | Positional parameters 1–9 | 
| ${10} | Positional parameter 10 | 
| $# | Total number of parameters | 
| $* | Evaluates to all the positional parameters | 
| $@ | Same as $*, except when double quoted | 
| "$*" | Displays... | 
 
                                             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
     
         
                 
                 
                 
                 
                 
                 
                 
                 
                