shell脚本学习指南[三](Arnold Robbins & Nelson H.F. Beebe著)

2019-09-23 09:42:11王冬梅

 fi
 #在远程主机上解开存档文件、构建,以及后台执行方式检查它
 sleep 1  #为了保证唯一的日志文件名
 now="`date $DATEFLAGS`"
 logfile="$package.$host.$now.log"
 nice $SSH $SSHFLAGS $userhost "
  echo '==================================================' ;
  test -f $BUILDBEGIN && . $BUILDBEGIN ||
   test -f $BUILDBEGIN && source $BUILDBEGIN ||
    true ;
  echo 'Package:   $package' ;
  echo 'Archive:   $PARFILE' ;
  echo 'Date:   $now' ;
  echo 'Local user:  $USER' ;
  echo 'Local host:  `hostname`' ;
  echo 'Local log directory: $LOGDIR' ;
  echo 'Local log file:  $logfile' ;
  echo 'Remote user:  $user' ;
  echo 'Remote host:  $host' ;
  echo 'Remote directory:  $builddir' ;
  printf 'Remote date:  ' ;
  date $DATEFLAGS ;
  printf 'Remote uname:  ' ;
  uname -a || true ;
  printf 'Remote gcc version: ' ;
  gcc --version | head -n 1 || echo ;
  printf 'Remote g++ version: ' ;
  g++ --version | head -n 1 || echo ;
  echo 'Configure environment: `$STRIPCOMMENTS $envfile |
   $JOINLINES`' ;
  echo 'Extra environment:  $EXTRAENVIRONMENT' ;
  echo 'Configure directory: $CONFIGUREDIR' ;
  echo 'Configure flags:  $CONFIGUREFLAGS' ;
  echo 'Make all targets:  $ALLTARGETS' ;
  echo 'Make check targets: $CHECKTARGETS' ;
  echo 'Disk free report for $builddir/$package:' ;
  df $builddir | $INDENT ;
  echo 'Environment:' ;
  env | env LC_ALL=C sort | $INDENT ;
  echo '==============================================' ;
  umask $UMASK ;
  cd $builddir || exit 1 ;
  /bin/rm -rf $builddir/$package ;
  $PAR $parbaselocal ;
  test "$parbase" = "$parbaselocal" && /bin/rm -f $parbase ;
  cd $package/$CONFIGUREDIR || exit 1 ;
  test -f configure &&
   chmod a+x configure &&
    env `$STRIPCOMMENTS $envfile | $JOINLINES`
     $EXTRAENVIRONMENT
     nice time ./configure $CONFIGUREFLAGS ;
  nice time make $ALLTARGETS && nice time make $CHECKTARGETS ;
  echo '===============================================' ;
  echo 'Disk free report for $builddir/$package:' ;
  df $builddir | $INDENT ;
  printf 'Remote date: ' ;
  date $DATEFLAGS ;
  cd ;