The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Auto-copiar los archivos de una carpeta a otra al instante escrito Bashar UNIX para usuarios avanzados y expertos 2 08-21-2008 03:44 PM
bucle foreach Rooz Programación de scripts de shell y 3 06-05-2008 04:20 PM
bucle foreach abch624 Programación de scripts de shell y 1 03-19-2008 09:34 PM
Analizar el archivo. Txt de nombre de la carpeta y FTP a la carpeta correspondiente. MeganP Programación de scripts de shell y 3 07-03-2007 02:54 PM
foreach mando? GeoQuest UNIX for Dummies Preguntas y Respuestas 5 05-20-2002 06:11 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 08-10-2007
eltinator eltinator is offline
Usuario Registrado
  
 

Fecha: julio 2007
Puestos: 63
foreach carpeta

Hola,

Tengo un pequeño problema aquí y no puedo lograr que funcione. Estoy programando un script para bash y tengo que hacer algo para toda la carpeta en un directorio. Así que estoy en el directorio y quiero usar la declaración foreach pero yo no sé cómo hacer referencia a todas las carpetas de ese directorio. Para hacer las cosas aquí simplista es mi código:

Código:
foreach instance (.)
cd instance
mkdir test
end
básicamente para cada carpeta en ese directorio, quiero en cd y crear una carpeta llamada prueba. Alguna idea?
  #2 (Enlace permanente)  
Old 08-11-2007
blowtorch's Avatar
soplete blowtorch is offline Forum Advisor  
Defensor
  
 

Fecha: diciembre 2004
Ubicación: Singapur
Puestos: 2.350
Algo como esto:
Código:
for file in *; do
   if [ -d $file ]; then
      cd $file; mkdir test
   fi
done
-EDIT
Usted puede saltarse las pruebas para la guía también. 'cd' no funciona nada excepto en los directorios (pero puede haber vínculos que apuntan a los directorios y lo que acaban creando "prueba" en los que no desea hacerlo).
  #3 (Enlace permanente)  
Old 08-11-2007
Lorcan lorcan is offline
Usuario Registrado
  
 

Fecha: Mayo 2007
Puestos: 219
Una pequeña corrección soplete.

Código:
for file in *; do
   if [ -d $file ]; then
      mkdir $file/test; 
   fi
done
Puesto que usted ha publicado un comando cd que crearía la sub-dir sólo para el primer directorio. Por lo tanto, el resultado no sería como se esperaba.

Última edición por Lorcan; al 08-11-2007 08:51 AM..
  #4 (Enlace permanente)  
Old 08-13-2007
eltinator eltinator is offline
Usuario Registrado
  
 

Fecha: julio 2007
Puestos: 63
Cita:
Publicado originalmente por Lorcan View Post
Una pequeña corrección soplete.

Código:
for file in *; do
   if [ -d $file ]; then
      mkdir $file/test; 
   fi
done
Puesto que usted ha publicado un comando cd que crearía la sub-dir sólo para el primer directorio. Por lo tanto, el resultado no sería como se esperaba.
Hola, he tenido una pregunta sobre el cd cosa, ¿cómo es que no funciona? Estoy modificando el código para entrar en determinadas subcarpetas en cada carpeta y luego ejecutar un comando, así que no estaba seguro de cómo hacerlo. Básicamente estoy tratando de hacer algo como esto ahora ...

directorio actual:
abc

Dentro de cada directorio hay un archivo aquí (con un modo de ejemplo):
un / prueba / carpeta / script.sh

Lo siento por los nombres genéricos. Ahora lo que quiero hacer mi script es el acceso que script.sh en cada carpeta y ejecutarlo. Iba a hacer la declaración de cd y luego en ese camino y, a continuación, hacer ejecutar un comando, pero creo que no es sencillo. Alguna idea? gracias!
  #5 (Enlace permanente)  
Old 08-13-2007
Lorcan lorcan is offline
Usuario Registrado
  
 

Fecha: Mayo 2007
Puestos: 219
Puede probar como

Código:
for file in *; do
   if [ -d $file ]; then
      ./$file/test/folder/script.sh; 
   fi
done

o si usted es particular, para entrar en el directorio y ejecutar el script a continuación, intenta de esta manera

Código:
scriptHome=$(pwd)   # Assuming that you are running from the path where a b c are present
for file in *; do
   if [ -d $file ]; then
      cd $file/test/folder;
      ./script.sh
   fi
   cd $scriptHome
done
Una vez más el supuesto de que la estructura de árbol de ensayo / carpeta está presente en los directorios A, B y C.
  #6 (Enlace permanente)  
Old 08-11-2007
reborg's Avatar
reborg reborg is offline Forum Staff  
Administrador
  
 

Fecha: marzo 2005
Ubicación: Irlanda
Mensajes: 4.233
Cita:
Publicado originalmente por eltinator View Post
Hola,
Código:
foreach instance (.)
cd instance
mkdir test
end
Su principal problema aquí no era lógica, pero que estaba usando la sintaxis de la shell de mal. Esta es la sintaxis de csh.
  #7 (Enlace permanente)  
Old 08-11-2007
eltinator eltinator is offline
Usuario Registrado
  
 

Fecha: julio 2007
Puestos: 63
Gracias muchachos. Así que básicamente no hay ningún comando foreach en bash?
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 12:53 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0