Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: ypsilon en 28 Octubre 2011, 17:59 pm



Título: Esto es facil para vosotros, dificil para mi !!! script Ubuntu
Publicado por: ypsilon en 28 Octubre 2011, 17:59 pm
Teniendo este Script, suponiendo que escribe N veces los archivos y directorios que tengo en una carpeta por que no me funciona la asignacion valor ??? Estoy utilizando Ubuntu, por si las moscas

#!/bin/sh
valor=`ls -A | wc -l`

for  valor
do
   echo Hola | more
done

Gracias y perdonar por esta tonteria, pero el que empieza, algun descalabro tiene que cometer... jejeje


Título: Re: Esto es facil para vosotros, dificil para mi !!! script Ubuntu
Publicado por: Gallu en 28 Octubre 2011, 19:45 pm
Si lo que quieres es imprimir la salida del comando ls -A con el bucle for y un fichero en cada linea , puedes hacer lo siguiente

Código
  1. #!/bin/sh
  2.  
  3. valor=`ls -A `
  4.  
  5. echo $valor
  6.  
  7. for i in $valor ;
  8. do
  9. echo $i
  10. done
  11.  
  12.  


Título: Re: Esto es facil para vosotros, dificil para mi !!! script Ubuntu
Publicado por: leogtz en 28 Octubre 2011, 23:34 pm
Hay varias maneras:

Código
  1. for i in `seq 1 $(ls -1 | wc -l)`; do ls -1; done
Código
  1. for((i = 1; i < `ls -1 | wc -l`; i++)); do ls -1; done
  2.  

Saludos.