----- 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! -- 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/1371743748.9323.yahoomail...@web160204.mail.bf1.yahoo.com