El dÃa Thursday, December 23, 2010 a las 10:51:24AM -0500, KZKG^Gaara escribió:
> El 23/12/10 10:39, Matthias Apitz escribió: > > Lo entiendes mal (hasta fatal). Con || hace justamente lo contrario: sólo si > > la primera orden falla, ejecuta la segunda. > > > > Lo correcto para tu caso, y lo más simple y entendible es > > > > cp -R /1/ /home/2/&& rm -R /1/ > > > > Cada uno que lo lea, entiende de primera vista que pasará :-) > > > > matthias > Ok, entonces era lo contrario. Sí, era lo contrario. Pero, esto no importa, ¿no? :-) Ojo, lo "contrario" puede significar perder todos los ficheros. > Lo que Willians y tú me comentan resuelve mi problema, gracias por tan > pronta respuesta. > Ahora, mi duda también es: si no se puede lograr mediante un ciclo > condicional? > Sé que ya con && se resuelve, pero me gustaría lograr algo como: > > if cp=false > then execute send_email.sh > else > rm -R /1/ > ..... > ...... > ....... > etc. > > O sea, si cp dá algún error (devuelve false, null, 0, o algo así no > conozco el método) entonces que haga X proceso, si devuelve true (o sea, > que no dé error) entonces que siga con todo el script. Lo más claro para tal caso, según mi opinión, sería: cp -R /1/ /home/2/ || { send_mail.sh llamarAlAdmin.sh ... printf "Panico: CP ha fallado -- exit\n" exit 1 } rm -R /1/ ... matthias -- Matthias Apitz t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211 e <g...@unixarea.de> - w http://www.unixarea.de/ ______________________________________________________________________ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l