null,      (:)     ,
  true.   while    while :,    while true.

 trap        .
         .

  , addbanner,    trap  -
      ,  - ,
 ,     :

$ cat addbanner

#!/bin/bash
script='basename $0'

if [ ! -r "$HOME/banner" ]
then

echo "$script:   $HOME/banner,   "
1>&2

exit I
fi

trap 'exit  1 2 3 15

trap 'rm /tmp/$$.$script 2> /dev/null' 

for file

do

if [ -r "$file" -a -w "$file" ]
then

cat $HOME/banner $fiie > /tmp/$$.$script
cp /tmp/$$.$script $file

echo "$script:    $file" 1>&2
else

echo "$script:         $file" 1>&2
fi
done

           
addbanner  ,       .  -
         , -
,     ,    -
    .     banner  
 .  HOME     -
,   addbanner     
 .     ,   $ 
/home/alex,       ,      -
 ,      addbanner     banner
.

  trap   addbanner      1  -
  ,   (   -
 )   .   trap  0  -
 -,     trap    -
          exit
    .    trap  

 28.   Bourne Again Shell                                905