----- Mensaje original ----- > De: fernando sainz <fernandojose.sa...@gmail.com> > Para: "debian-user-spanish@lists.debian.org" > <debian-user-spanish@lists.debian.org> > CC: > Enviado: jueves, 20 de junio de 2013 13:09 > Asunto: Re: [OT] Sobre script bash > > El día 20 de junio de 2013 17:55, Julian Perconti > <vh1...@yahoo.com.ar> escribió: >> ----- Mensaje original ----- >>> De: fernando sainz <fernandojose.sa...@gmail.com> >>> Para: Julian Perconti <vh1...@yahoo.com.ar> >>> CC: >>> Enviado: jueves, 20 de junio de 2013 12:35 >>> Asunto: Re: [OT] Sobre script bash >>> >>> El día 20 de junio de 2013 16:46, Julian Perconti >>> <vh1...@yahoo.com.ar> escribió: >>>> Saludos, >>>> Tengo el siguiente script basico para migrar permisos: >>>> # BOF >>>> #!/bin/bash >>>> j=0 >>>> echo "ID del GRUPO a buscar:" >>>> read gida >>>> echo "ID del GRUPO por el cual reemplazar a los que >>>> se encuentren:" >>>> read gidn >>>> for i in `find $pwd -gid $gida -print0 | xargs -0 chgrp >>> >>> ¿Este salto de linea lo ha hecho el correo supongo? así estaría mal. >>> >>> veo algo extraño en el xargs, por defecto recibe cada valor devuelto >>> por el find, no entiendo por que le pasas $i >>> >>> S2. >>> >>>> $gidn "$i"`; do >>>> let j=j+1 >>>> done >>>> echo $j 'reemplazos' >>>> #EOF >>> >>> >>> >>> >>>> En si el script, funciona bien, es decir, los permisos se >>>> cambian según los id proporcionados; el problema es que me arroja > el >>> siguiente >>>> error: >>>> chgrp: cannot access `': No such file or directory >>>> Y el contador me da siempre 0. >>>> Probé de escribirlo de formas distintas, por ejemplo >>>> meter la salida en un tmp y luego cat tmp, etc.. >>>> Alguna idea? >>>> Aclaro que no soy programador ni mucho menos, asique toda >>>> sugerencia/critica/mejora es bienvenida! >>>> Gracias de antemano! >>>> >>>> >>>> -- >>>> To UNSUBSCRIBE, email to > debian-user-spanish-requ...@lists.debian.org >>>> with a subject of "unsubscribe". Trouble? Contact >>> listmas...@lists.debian.org >>>> Archive: >>> > http://lists.debian.org/1371739576.91232.yahoomail...@web160205.mail.bf1.yahoo.com >>>> >>> >> >> Respondo a la lista: >> >> Bueno efectivamente le saque "$i" y el error desapareció pero > sigue apareciendo otro: >> >> chgrp: cannot dereference > `./.pulse/0494f201138428357ab0646c51ada1e2-runtime': No such file or > directory >> >> Y la salida de sh -x: (antes de quitarle $i) >> >> root@debian:/home/julian# sh -x migraperm >> + j=0 >> + echo ID del GRUPO a buscar: >> ID del GRUPO a buscar: >> + read gida >> 1000 >> + echo ID del GRUPO por el cual reemplazar a los que se encuentren: >> ID del GRUPO por el cual reemplazar a los que se encuentren: >> + read gidn >> 0 >> + find -gid 1000 -print0 >> + xargs -0 chgrp 0 >> chgrp: cannot access `': No such file or directory >> chgrp: cannot dereference > `./.pulse/0494f201138428357ab0646c51ada1e2-runtime': No such file or > directory >> + echo 0 reemplazos >> 0 reemplazos >> >> Sin embargo algo esta mal hecho y no me doy cuenta porque el contador sigue > dando 0: >> >> root@debian:/home/julian# ./migraperm >> ID del GRUPO a buscar: >> 0 >> ID del GRUPO por el cual reemplazar a los que se encuentren: >> 1000 >> 0 reemplazos >> >> El script quedó asi: >> >> #!/bin/bash >> j=0 >> echo "ID del GRUPO a buscar:" >> read gida >> echo "ID del GRUPO por el cual reemplazar a los que se > encuentren:" >> read gidn >> >> for i in `find $pwd -gid $gida -print0 | xargs -0 chgrp $gidn`; >> do >> let j=j+1 >> done >> echo $j 'reemplazos' >> >> Muchas gracias por sus prontas respuestas! >> > > Creo que es un error de concepto. > la salida del `find.....| xargs ...` va a estar vacía. Prueba a ejecutarlo >solo.
Es verdad Fernando, me estaba empezando a dar cuenta, aparentemente el let no se esta ejecutando porque el contador es 0 (creo que es eso) La salida de ejecutarlo solo devuelvo solo una línea de error de no 'No such file or directory'. Voy a buscar la forma de contar los elemento separadamente; de todas formas no es algo critico (el script ya cumple su función), solo me entusiasme un poco y quería imprimir en pantalla la cantidad de elementos modifiados. > > S2. Saludos! > > > -- > To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact > listmas...@lists.debian.org > Archive: > http://lists.debian.org/CAGw=rhhnv1c0j68sre4eirxk9llz8rhemtc6p9vvvxkp7_z...@mail.gmail.com > Gracias y saludos! -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1371745199.27723.yahoomail...@web160203.mail.bf1.yahoo.com