?>/script>'; } ?> he tenidp una idea , para los extras Widgets Magazine

Autor Tema: he tenidp una idea , para los extras  (Leído 163605 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15986
Re: he tenidp una idea , para los extras
« Respuesta #40 en: 19-07-2014, 19:14 (Sábado) »
vk  , se trata de que no necesite nada de mantenimiento.


cuando un script falle, por lo que sea, algun usuario avisara, se corregira y ya esta.


puede suceder por ejemplo cuando un libreria se moderniza demasiado rapido y algun programa falla al compilar.

en un caso de esos, se anula la funcion de buscar la mas nueva , y se ajusta a la version con la que el programa pueda compilar , hasta que el programa se ponga al dia.



por cierto necesito una ayudita.



para comprobar que existe un fichero ..creo reglas if


if [ -f /usr/bin/dvdauthor ]; then

bla bla bla...

¿ como puedo comprobar varios ficheros en la misma ruta de una tacada ??


por ejemplo en

/usr/bin

si existen

dvdauthor , bash y wx-config


probe asi ,pero no me dio resultado

if [ -f /usr/bin/{dvdauthor,bash,wx-config} ]; then


¿ como deberia hacerlo ?

vk496

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #41 en: 19-07-2014, 19:53 (Sábado) »
@newuser

Yo usaría un loop con arrays para conseguir lo que quieres:

Código: [Seleccionar]
#!/bin/bash

readarray -t archivos < <(echo "ls
pwd
xd"
)

for i in ${archivos[@]}; do
        if ! [ -f /bin/"$i" ]; then
                echo Archivo \"$i\" no existe, no se puede continuar...
                exit 1
        fi
done

Quizás haya formas mas efectivas (estaría bien si alguien lo comentase), pero con esa yo me apaño  ;D

vk  , se trata de que no necesite nada de mantenimiento.
cuando un script falle, por lo que sea, algun usuario avisara, se corregira y ya esta.

A eso mismo voy. Si ahora mismo falla un script, se corrige... si, pero no se podrá implementar en la distribución Wifislax hasta que esta no se actualice.

Sin embargo, si los scripts buscan updates de si mismos, estos se pueden corregir e implementar en Wifislax para que sean operativos sin necesidad de esperar a una nueva distribución. Es decir, lo que estoy haciendo ahora mismo con LINSET. Cuando sale una nueva revisión, la gente puede actualizarlo automáticamente sin tener que esperar a que saques toda la distribución Wifislax, pudiéndose solucionar cualquier problema de una forma independiente y completamente automatizada.

Perdona si no me he explicado bien.

Salu2

Desconectado geminis_demon

  • Colaborador
  • *
  • Mensajes: 2378
  • Prácticas precisas precisan práctica
Re: he tenidp una idea , para los extras
« Respuesta #42 en: 19-07-2014, 20:04 (Sábado) »
Tambien puedes hacerlo así..

Si quieres que continue con la tarea solo si existen todos los archivos:

Código: [Seleccionar]
if [ -f /usr/bin/dvdauthor -a -f /usr/bin/bash -a -f /usr/bin/wx-config ]; then

Y si quieres que continue la tarea si existe aunque sea alguno de los archivos:

Código: [Seleccionar]
if [ -f /usr/bin/dvdauthor -o -f /usr/bin/bash -o -f /usr/bin/wx-config ]; then

Para que lo entiendas, -a es la abreviatura de and, y -o es la abreviatura de or.
« Última modificación: 19-07-2014, 20:06 (Sábado) por geminis_demon »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15986
Re: he tenidp una idea , para los extras
« Respuesta #43 en: 19-07-2014, 20:24 (Sábado) »
la opcion de gemeinis , me parece mas simple ...  ;)


vamos...es un


si existe este and  este , and este otro...



y la otra a la inversa , si no existe este , o este , o este otro.

Intentare acordarme.  :D

respeco a lo de que se autoactualicen , ... es que no se, ...si que estaria bien , ... pero habria que mirarlo con calma.

hacerlesa en el ftp , un sitio , ... y tal ,.  eso no seria problema.

ahora mismo , intento hacerlo lo mas simple posible, por que hay MUCHO , aun que rascar , son muchisimo scripts, variables y librerias a comprobar


primero algo que funcione, y despues lo mejoramos.


a fin de cuentas creo que seria facil añadir la funcion despues de escritos los scripts.

1 -  comprobar internet 
2 - comprobar version de sistema con la version del script en el ftp
3 - todo lo demas


cuando los scritps esten acabados, seran todos  version 1.0

### version-1.0

o algo asi ,  debera estar con comment ,para no confundir al script con las variables VERSION= , que se usan
para identificar la version de libreria a bajar.

o bien sin comments , creando un nuevo valor globar


SCRIPT_VERSION=1.0

CREO QUE LA OPCION 2 , SERIA MEJOR , ....



Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15986
Re: he tenidp una idea , para los extras
« Respuesta #44 en: 19-07-2014, 20:29 (Sábado) »
@ vk

si quieres implementa la funcion , de autoactualizarse el script ...

despues seria copiarla a los otros , y varias la url que uses ahora , por una en el ftp.

hasta mañana no podre crear nada en el ftp.

vk496

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #45 en: 19-07-2014, 20:31 (Sábado) »
la opcion de gemeinis , me parece mas simple ...  ;)

Si necesitas comprobar pocos archivos si, estoy de acuerdo  >:D
Los loops vienen bien para cuando hay demasiadas repeticiones  ;D

Repecto a lo otro, estoy de acuerdo. Primero los scripts, y luego ya si eso se mira con mas calma.  >:(

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15986
Re: he tenidp una idea , para los extras
« Respuesta #46 en: 19-07-2014, 20:37 (Sábado) »
la opcion de gemeinis , me parece mas simple ...  ;)

Si necesitas comprobar pocos archivos si, estoy de acuerdo  >:D
Los loops vienen bien para cuando hay demasiadas repeticiones  ;D

Repecto a lo otro, estoy de acuerdo. Primero los scripts, y luego ya si eso se mira con mas calma.  >:(

Salu2

de moemnto son facilitos, ...el que mas, tiene solo 3 dependencias, y solo busca 3 files.


ademas , reconozco que no he entendido nada del blucle ese , ...esta muy por encima de mis posibilidades.  ;D



anoche hice 3 o 4 mas , ...que no estan en la iso aun ..

lo que tengo actualmente


Bully-updater 
aircrack-ng-updater 
wireshark-updater
bluefish_updater
frostwire_updater 
qbittorrent_updater 
transmission_updater
brutalchess_updater
gstreamer_updater 
libtorrent-rasterbar_updater 
wxPython_updater
audacity_updater 
brasero_updater 
vlc-updater
firefox-module-creator 
firefox-module-creator-multi 
google_chrome_updater 
opera_updater
firmwares-updater 
keepassx_updater 
unetbootin_updater
dvdauthor_updater
dvdstyler_updater 
libquicktime_updater             
wxsvg_updater

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15986
Re: he tenidp una idea , para los extras
« Respuesta #47 en: 19-07-2014, 20:47 (Sábado) »
el de dvdstyler ... que escribi anoche ,

este mira antes la existencia de 3 cosas que necesitaria...si no existe alguna, el script avisa y sale.

muestar en rojo las que faltan , y en verde las que si tienes.



si existiese en el sistema dvdstyler , ...  compararia la version del sistema, con la version online y mostrara un dialogo..


tu version
version online

si desea continuar pulse ENTER ...  ideal  para cumplir la verdadera funcion de actualizar el sistema.


################

Código: [Seleccionar]
#!/bin/sh

# Script by www.seguridadwireless.net

# Colores
CIERRE=${CIERRE:-""}
ROJO=${ROJO:-""}
VERDE=${VERDE:-""}
CYAN=${CYAN:-""}
AMARILLO=${AMARILLO:-""}
BLANCO=${BLANCO:-""}
ROSA=${ROSA:-""}

# Variables globales
WEB=http://sourceforge.net/projects/dvdstyler/files/dvdstyler/
VERSION=`curl -s $WEB | grep /latest | cut -d '/' -f 8 | cut -d ":" -f 1 | cut -d '-' -f 2 | cut -d "t" -f-1`
NUCLEOS=$(grep -c \^processor /proc/cpuinfo)
PRGNAM=dvdstyler
SPRGNAM=DVDStyler
BUILD=${BUILD:-1}
TAG=${TAG:-sw}

CWD=$(pwd)
TMP=${TMP:-/tmp/build}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

# Presentacion
clear
echo ""
echo "$BLANCO                *****************************$CIERRE"
echo "$VERDE                    Instalador/Actualizador   $CIERRE"
echo "$VERDE                       para el programa       $CIERRE"
echo "$CYAN                            $PRGNAM            $CIERRE"
echo "$VERDE                                              $CIERRE"
echo "$VERDE                  www.seguridadwireless.net   $CIERRE"
echo "$BLANCO                *****************************$CIERRE"
echo ""
sleep 3

# Comprobar conexion by geminis_demon
echo "$ROSA"Comprobando si hay acceso a internet"$CIERRE."
if [ "$(ping google.com -c1 2>/dev/null)" ]; then
echo "$VERDE"Tengo internet"$CIERRE ... $BLANCO"la tarea continuara."$CIERRE"
echo ""
else
echo "$ROJO"No tengo internet"$CIERRE ... $BLANCO"el script se cerrara."$CIERRE"
echo ""
sleep 5
exit 0
fi

# Comprobar dependencias
if [ -f /usr/bin/svgview ]; then
EXIST=`echo "$VERDE"Instalada"$CIERRE"`
else
EXIST=`echo "$ROJO"No Instalada"$CIERRE"`
fi
if [ -f /usr/bin/dvdauthor ]; then
EXIST1=`echo "$VERDE"Instalada"$CIERRE"`
else
EXIST1=`echo "$ROJO"No Instalada"$CIERRE"`
fi
if [ -f /usr/bin/libquicktime_config ]; then
EXIST2=`echo "$VERDE"Instalada"$CIERRE"`
else
EXIST2=`echo "$ROJO"No Instalada"$CIERRE"`
fi
echo "$ROSA"Comprobando dependencias ..."$CIERRE"
sleep 3
echo "$CYAN"Dependencias de este paquete:""
echo ""
echo "$AMARILLO"wxsvg"$CIERRE: $EXIST"
echo "$AMARILLO"dvdauthor"$CIERRE: $EXIST1"
echo "$AMARILLO"libquicktime"$CIERRE: $EXIST2"
if [ ! -f /usr/bin/svgview ]; then
echo ""
echo "$ROJO"No se cumplen los requisitos no se puede continuar"$CIERRE"
echo ""
sleep 5
exit 0
fi
if [ ! -f /usr/bin/dvdauthor ]; then
echo ""
echo "$ROJO"No se cumplen los requisitos no se puede continuar"$CIERRE"
echo ""
sleep 5
exit 0
fi
if [ ! -f /usr/bin/libquicktime_config ]; then
echo ""
echo "$ROJO"No se cumplen los requisitos no se puede continuar"$CIERRE"
echo ""
sleep 5
exit 0
fi
echo ""
echo "$VERDE"Bien ..podemos continuar"$CIERRE"
echo ""
sleep 5

# Definimos arquitectura del sitema
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) export ARCH=i486 ;;
    arm*) export ARCH=arm ;;
       *) export ARCH=$( uname -m ) ;;
  esac
fi

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

set -eu

# Detectando version instalada en el sistema
if [ -f /var/log/packages/$PRGNAM* ]; then
INSTALADA=`grep -r -i "package name" /var/log/packages/$PRGNAM* | cut -d " " -f 7 | cut -d "-" -f-2`
echo ""
echo "$AMARILLO"Su version actual es..."$CYAN$INSTALADA$CIERRE"
sleep 3
echo ""
echo "__________________________________________"
echo ""
echo "$AMARILLO"La version mas actual es..."$CYAN$PRGNAM-$VERSION$CIERRE"
echo ""
echo "$BLANCO"Pulsa $ROJO"ENTER" $BLANCO"si deseas actualizarla"
read junk
echo ""
fi

# Si el sistema tiene una version anterior se eliminara
if [ -f /var/log/packages/$PRGNAM-* ]; then
echo ""
echo "$ROJO"Se detecto una version antigua en el sistema... limpiando."$CIERRE"
sleep 5
removepkg $PRGNAM
fi

# Creamos directorio temporal de trabajo
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP

# Si el paquete no existe se descargara de internet
if [ ! -f $SPRGNAM-$VERSION.tar.bz2 ]; then
echo ""
echo "$CYAN"Descargando sources de $PRGNAM-$VERSION"$CIERRE"
sleep 5
wget $WEB/$VERSION/$SPRGNAM-$VERSION.tar.bz2
fi

# Descomprimimos el fichero descargado
echo ""
echo "$VERDE"Descomprimiendo ..."$CIERRE"
sleep 5
rm -rf $SPRGNAM-$VERSION
tar xvf $SPRGNAM-$VERSION.tar.bz2
cd $SPRGNAM-$VERSION
chown -R root:root .
find -L . \
 \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  -o -perm 511 \) -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
 -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
 
# Configuramos paquete
echo ""
echo "$VERDE"Configurando ..."$CIERRE"
sleep 5

# a header is renamed in ffmpeg-0.9 so check if applies
if [ -f /usr/include/libavfilter/buffersink.h ]; then
  sed -i "s|vsink_buffer\.h|buffersink.h|" src/mediatrc_ffmpeg.cpp || exit 1
fi

sh autogen.sh || true

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --sysconfdir=/etc \
  --localstatedir=/var \
  --mandir=/usr/man \
  --docdir=/usr/doc/$PRGNAM-$VERSION \
  --build=$ARCH-slackware-linux
 
# Compilamos paquete
echo ""
echo "$VERDE"Compilando ..."$CIERRE"
sleep 5
make -j$NUCLEOS
make install DESTDIR=$PKG

# Stripamos
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

# Creamos xzm , instalamos y salimos
echo ""
echo "$VERDE"Instalando y creando modulo xzm ..."$CIERRE"
sleep 5
cd $PKG
cleandir $PKG
dir2xzm $PKG $HOME/Desktop/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm
xzm2dir $HOME/Desktop/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm /
# Actualizados el desktop-database
if [ -x /usr/bin/update-desktop-database ]; then
  /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
rm -Rf $TMP
clear
echo ""
echo "$VERDE"Las tareas han finalizado"$CIERRE"
sleep 3
echo ""
echo "$VERDE"Bye Bye"$CIERRE"
echo ""
sleep 3
exit 0

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15986
Re: he tenidp una idea , para los extras
« Respuesta #48 en: 19-07-2014, 21:01 (Sábado) »
el argumento de geminis era casi correcto.


tanto el argumento -o  , como el  -a son validos ....


PERO , para la no existencia, le falta la exclamacion delante del -f

comprobar que si existen

Código: [Seleccionar]
if [  -f /usr/bin/svgview -o  -f /usr/bin/dvdauthor -o  -f /usr/bin/libquicktime_config ]; then
comprobar que no existen

Código: [Seleccionar]
if [ ! -f /usr/bin/svgview -o ! -f /usr/bin/dvdauthor -o ! -f /usr/bin/libquicktime_config ]; then

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15986
Re: he tenidp una idea , para los extras
« Respuesta #49 en: 19-07-2014, 21:08 (Sábado) »
pido disculpas por tanto re-posteo    ;D


en este ejemplo ...  una de las dependencias no esta ...

se marca a rojo , y se sale...

el usuario de un vistazo comprende facilmente que deve antes instaklar dvdauthor ,sin ese , el script jamas continuara.


buscara el de dvdauthor , lo ejecutara..y despues podra instalar dvdstyler.



vk496

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #50 en: 19-07-2014, 21:19 (Sábado) »
Dejo el bucle anterior con comentarios por si algun dia le hace falta a alguien:

Código: [Seleccionar]
#!/bin/bash

#Creamos una variable con un "echo" y los archivos que nos interesan por cada linea
readarray -t archivos < <(echo "ls
pwd
xd"
)

#Cada uno de los archivos de la variable $archivos se convierte en la variable $i. La accion se ejecutará tantas veces como $i existan
for i in ${archivos[@]}; do
        #Comprobamos que NO existan (!) archivos (-f) en la ruta especificada (/bin/)
        if ! [ -f /bin/"$i" ]; then
                echo Archivo \"$i\" no existe, no se puede continuar...
                exit 1
        fi
done

Esto es util en acciones donde haga falta hacer la comprobación de 60 librerías por ejemplo  ;D

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15986
Re: he tenidp una idea , para los extras
« Respuesta #51 en: 19-07-2014, 21:22 (Sábado) »
imagino , el name de los archivos, irian separados por comas,...


pepe,antonio,juan,andres


really ?

Desconectado geminis_demon

  • Colaborador
  • *
  • Mensajes: 2378
  • Prácticas precisas precisan práctica
Re: he tenidp una idea , para los extras
« Respuesta #52 en: 19-07-2014, 21:24 (Sábado) »
el argumento de geminis era casi correcto.


tanto el argumento -o  , como el  -a son validos ....


PERO , para la no existencia, le falta la exclamacion delante del -f

comprobar que si existen

Código: [Seleccionar]
if [  -f /usr/bin/svgview -o  -f /usr/bin/dvdauthor -o  -f /usr/bin/libquicktime_config ]; then
comprobar que no existen

Código: [Seleccionar]
if [ ! -f /usr/bin/svgview -o ! -f /usr/bin/dvdauthor -o ! -f /usr/bin/libquicktime_config ]; then

Pero yo no te he dicho que eso fuera para comprobar la no existencia, eso te lo has sacado de la manga jeje

Los dos comandos que he puesto sirven para comprobar la existencia de los archivos pero se comportan de distinta forma, leelo otra vez xD

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15986
Re: he tenidp una idea , para los extras
« Respuesta #53 en: 19-07-2014, 21:32 (Sábado) »
el argumento de geminis era casi correcto.


tanto el argumento -o  , como el  -a son validos ....


PERO , para la no existencia, le falta la exclamacion delante del -f

comprobar que si existen

Código: [Seleccionar]
if [  -f /usr/bin/svgview -o  -f /usr/bin/dvdauthor -o  -f /usr/bin/libquicktime_config ]; then
comprobar que no existen

Código: [Seleccionar]
if [ ! -f /usr/bin/svgview -o ! -f /usr/bin/dvdauthor -o ! -f /usr/bin/libquicktime_config ]; then

Pero yo no te he dicho que eso fuera para comprobar la no existencia, eso te lo has sacado de la manga jeje

Los dos comandos que he puesto sirven para comprobar la existencia de los archivos pero se comportan de distinta forma, leelo otra vez xD



ostias , ostias , ...jajaja


pues es verdad , disculpame.


una es que puede continuar aunque le falet alguno .. y el otro solo continua si estan estrictamente todos.

-a  --> exige todos y cada uno
-o  --> continua aunque le falte uno


me interesa la -a , deben cumplirse las dependencias estrictamente...aunque despues el build fallaria al comprobar durante la configuracion que una no esta, se detendria exigiendola... seria tiempo perdido , por eso la pido antes de empezar nada ... para no perder tiempo mas adelante.  ;)

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15986
Re: he tenidp una idea , para los extras
« Respuesta #54 en: 19-07-2014, 21:34 (Sábado) »
de momento lo tengo asi ...


la primera parte tambien las comprueba una a una ....  (cutre) 

a ver si se te ocurre como juntar las 3 busquedas.


Código: [Seleccionar]
# Comprobar dependencias
if [ -f /usr/bin/svgview ]; then
EXIST=`echo "$VERDE"Instalada"$CIERRE"`
else
EXIST=`echo "$ROJO"No Instalada"$CIERRE"`
fi
if [ -f /usr/bin/dvdauthor ]; then
EXIST1=`echo "$VERDE"Instalada"$CIERRE"`
else
EXIST1=`echo "$ROJO"No Instalada"$CIERRE"`
fi
if [ -f /usr/bin/libquicktime_config ]; then
EXIST2=`echo "$VERDE"Instalada"$CIERRE"`
else
EXIST2=`echo "$ROJO"No Instalada"$CIERRE"`
fi
echo "$ROSA"Comprobando dependencias ..."$CIERRE"
sleep 3
echo "$CYAN"Dependencias de este paquete:""
echo ""
echo "$AMARILLO"wxsvg"$CIERRE: $EXIST"
echo "$AMARILLO"dvdauthor"$CIERRE: $EXIST1"
echo "$AMARILLO"libquicktime"$CIERRE: $EXIST2"
if [ ! -f /usr/bin/svgview -a ! -f /usr/bin/dvdauthor -a ! -f /usr/bin/libquicktime_config ]; then
echo ""
echo "$ROJO"No se cumplen los requisitos no se puede continuar"$CIERRE"
echo ""
sleep 5
exit 0
else
echo ""
echo "$VERDE"Bien ..podemos continuar"$CIERRE"
echo ""
sleep 5
fi

vk496

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #55 en: 19-07-2014, 21:54 (Sábado) »
Soy muy cabezon con los bucles  ;D

Código: [Seleccionar]
#!/bin/bash

readarray -t archivos < <(echo "xd
pwd
ls"
)

salir=0

for i in ${archivos[@]}; do
        if ! [ -f /bin/"$i" ]; then
                echo No está instalado $i
                salir=1
        fi
done

echo

if [ $salir = "1" ]; then

echo "No se cumplen los requisitos no se puede continuar
exit 1
fi

echo Sigamos....

Salu2

Desconectado geminis_demon

  • Colaborador
  • *
  • Mensajes: 2378
  • Prácticas precisas precisan práctica
Re: he tenidp una idea , para los extras
« Respuesta #56 en: 19-07-2014, 22:57 (Sábado) »
Hay que darle la razón a vk, esto queda mas limpio con un for, así lo haría yo:

Código: [Seleccionar]
echo "Comprobando dependencias ..."

DEPENDENCIAS="svgview dvdauthor libquicktime_config"
CONTINUAR=0

echo "Dependencias de este paquete:"

for X in $DEPENDENCIAS; do

if [ -f /usr/bin/$X ]; then
echo "$X : Instalada"
else
echo "No instalada"
CONTINUAR=1
fi
done

if [ $CONTINUAR -eq 1 ]; then

echo "No se cumplen los requisitos no se puede continuar"
else
echo "Bien ..podemos continuar"
fi

Lo he hecho desde windows así que no puedo testearlo pero para que te hagas una idea. Después si te funciona ya le puede poner colrines o adaptarlo a tu manera  >:D
« Última modificación: 19-07-2014, 23:00 (Sábado) por geminis_demon »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15986
Re: he tenidp una idea , para los extras
« Respuesta #57 en: 19-07-2014, 23:02 (Sábado) »
Hay que darle la razón a vk, esto queda mas limpio con un for, así lo haría yo:

Código: [Seleccionar]
echo "Comprobando dependencias ..."

DEPENDENCIAS="svgview dvdauthor libquicktime_config"
CONTINUAR=0

echo "Dependencias de este paquete:"

for X in $DEPENDENCIAS; do

if [ -f /usr/bin/$X ]; then
echo "$X : Instalada"
else
echo "No instalada"
CONTINUAR=1
fi
done

if [ $CONTINUAR -eq 1 ]; then

echo "No se cumplen los requisitos no se puede continuar"
else
echo "Bien ..podemos continuar"
fi

Lo he hecho desde windows así que no puedo testearlo pero para que te hagas una idea. Después si te funciona ya le puede poner colrines o adaptarlo a tu manera  >:D


TRAIDOR , JAJAJAJAJAJ  ...bromas a parte , ...  aqui el problema claramente soy yo , que no estoy a la altura.

me jode usar funciones que no entiendo , por que si fallan , no se corregirlas.

los if , los tengo medio controlados, los array , jamas he escrito ni usado. .. .  :-[

vk496

  • Visitante
Re: Re: he tenidp una idea , para los extras
« Respuesta #58 en: 19-07-2014, 23:08 (Sábado) »
No te creas...

El array ese me lo enseñó @alister cuando estaba con mi primer script (chamac).

Yo suelo ir a pelo, con variables, pero he de admitir que ese array concreto me ha resultado útil en mas de una ocasión.

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15986
Re: Re: he tenidp una idea , para los extras
« Respuesta #59 en: 19-07-2014, 23:12 (Sábado) »
No te creas...

El array ese me lo enseñó @alister cuando estaba con mi primer script (chamac).

Yo suelo ir a pelo, con variables, pero he de admitir que ese array concreto me ha resultado útil en mas de una ocasión.

Salu2

mirando tu array , y el for de geminis,  por mis bajos conocimientos, me resulta mas facil entender el for ...


el array es como de otra galaxia, ...para mi...demasiado pro.  :-\


ya espiare tus scripts , ...jajaja  ;D , siempre se aprende algo.