Que función cumple este script?

Iniciado por lorden, 12 Junio 2017, 04:15 AM

0 Miembros y 1 Visitante están viendo este tema.

lorden

Buenos dia gente! -Necesito saber para que sirve este script ya que yo no puedo comprender que hace.
El script pertenece al paquete de aptitude y el script es el aptitude-run-state-bundle.

Código (bash) [Seleccionar]
#!/bin/bash

NO_CLEAN=0
STATEDIR=0
UNPACK_ONLY=0
HELP=0
APPEND=1

DONE=0
while [ $DONE = 0 ]
do
 case "$1" in
     --append-args )
         APPEND=1
         shift
         ;;
     --help )
         HELP=1
         shift
         ;;
     --no-clean )
         NO_CLEAN=1
         shift
         ;;
     --prepend-args )
         APPEND=0
         shift
         ;;
     --really-clean )
         NO_CLEAN=0
         shift
             ;;
     --statedir )
         STATEDIR=1
         NO_CLEAN=1
         shift
         ;;
     --unpack )
         UNPACK_ONLY=1
         shift
         ;;
     * )
         DONE=1
         ;;
 esac
done

if ( [ $UNPACK_ONLY = 0 ] && [ "$#" -lt 1 ] ) ||
  ( [ $UNPACK_ONLY = 1 ] && [ "$#" -ne 1 ] ) ||
  [ $HELP = 1 ]
then
   echo "Usage: $0 [options] <input-file> [<program> [arguments ...]]"
   echo
   echo "This command will unpack the given archive of aptitude state"
   echo "information, then invoke the given program with the given"
   echo "list of arguments, passing appropriate -o options to cause"
   echo "aptitude to use the contents of that archive as its global"
   echo "data store."
   echo
   echo "Options:"
   echo "  --append-args    Place the generated arguments at the end of"
   echo "                   the command line (default)."
    echo "  --help           Display this message and exit."
   echo "  --no-clean       Do not remove the temporary directory after"
   echo "                   invoking aptitude."
   echo "  --prepend-args   Place the generated arguments at the beginning"
   echo "                   of the command line."
   echo "  --really-clean   Remove the state directory, even if --statedir"
   echo "                   was passed as an argument."
   echo "  --statedir       The <input-file> is an unpacked aptitude bundle,"
   echo "                   not a bundle file; implicitly sets --no-clean."
   echo "  --unpack         Just unpack the <input-file>, don't run aptitude."
   exit 1
fi

INPUTFILE="$1"
shift

if [ "$#" -lt 1 ]
then
   PROGRAM=aptitude
else
   PROGRAM="$1"
   shift
fi

if [ $STATEDIR = 0 ]
then
   tempdir=$(mktemp -p ${TMPDIR:-/tmp} -d aptitudebug.XXXXXXXXX) || exit 1
   if [ -z "$tempdir" ]
       then
       exit 1
   fi
else
   tempdir=$INPUTFILE
fi

trap '
if [ $NO_CLEAN = 1 ]
then echo "Leaving final state in $tempdir"
else echo "Removing $tempdir"; rm -fr $tempdir
fi' 0

if [ $STATEDIR = 0 ]
then
   if [ -d "$INPUTFILE" ]
   then
       echo "Can't use $INPUTFILE as the input bundle: it's a directory."
       exit 1
   fi
   if ! [ -f "$INPUTFILE" ]
   then
       echo "Can't use $INPUTFILE as the input bundle: file not found."
       exit 1
   fi

   tar -C "$tempdir" -xf "$INPUTFILE" || exit 1
fi

if [ $UNPACK_ONLY = 1 ]
then
   exit 0
fi
if [ "$APPEND" = 1 ]
then
   "$PROGRAM" "$@" -o "Dir=$tempdir" -o "Dir::State::status=$tempdir/var/lib/dpkg/status"
else

   "$PROGRAM" -o "Dir=$tempdir" -o "Dir::State::status=$tempdir/var/lib/dpkg/status" "$@"
fi

       

engel lex

basicmante todo es expresando al usuario lo que hará (echo)

al final

"$PROGRAM" "$@" -o "Dir=$tempdir" -o "Dir::State::status=$tempdir/var/lib/dpkg/status"

busca donde se asingan esas variables, simplemente corre un programa con argumentos...

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.