  showargs a b ;    showargs  .  
     showargs ""   ,    
showargs   .      showargs -
   ,       -
 .

shift:    

  shift     .  -
 ( $1) .   ( $2)   (-
 $1),   ,      .

     ($1-$9)     -
       .  
shift       ,   .
  shift       -
.    .   "-
 " ,       .

  demo_shift    .  -
,    echo,    -
   .          -
 :

$ cat demo_shift

echo "argl= $1    arg2= $2    arg3= $3"

shift

echo "argl= $1    arg2= $2    arg3= $3"

shift

echo "argl= $1    arg2= $2    arg3= $3"

shift

echo "argl= $1    arg2= $2    arg3= $3"

shift

$ demo_shift alice helen jenny

argl= alice    arg2= helen    arg3= jenny

argl= helen    arg2= jenny    arg3=

argl= jenny    arg2=    arg3=

argl    arg2=    arg3=

   Bourne Shell     -
 $1-$9,   ,    -
,        
shift.  Bourne Again Shell      -
,     shift  .   
  shift        -
 ,    .  -
 ,   ,    "if...then...else"
 28.

 9.  II: Bourne Again Shell 317