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 > UNIX for Dummies Preguntas y Respuestas
.
google unix.com



UNIX for Dummies Preguntas y Respuestas Si no está seguro de que para publicar un UNIX o Linux cuestión, puesto que aquí. Todos los novatos en Linux, UNIX y bienvenida!

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Clasificación de Directorio Sepia UNIX for Dummies Preguntas y Respuestas 1 07-11-2007 07:44 AM
¿Cómo puedo obtener el listado de directorios? haisubbu UNIX for Dummies Preguntas y Respuestas 2 08-25-2006 09:03 AM
Directorio completo ... B14speedfreak UNIX for Dummies Preguntas y Respuestas 5 05-11-2006 08:06 AM
Timestamp listado en el directorio vijashok UNIX for Dummies Preguntas y Respuestas 2 10-06-2005 10:03 AM
Recursivo listado de directorio sin lista de archivos psingh UNIX for Dummies Preguntas y Respuestas 4 05-10-2002 10:52 AM

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 03-08-2008
grebbux grebbux is offline
Usuario Registrado
  
 

Fecha: enero 2008
Puestos: 10
bien con formato de listado de directorio lote ssh período de sesiones

Hola,

Realmente estoy luchando hasta el final de un script que he sido asignado.
El guión es el propósito de iniciar sesión en cada servidor se define en un conjunto, determinar la versión de servidor Web, y la lista del directorio debajo de el directorio de instalación. En mi caso, este directorio de instalación es casi siempre "/ opt / IBMHTTPServer" (a veces "/ opt / IBMHttpServer")

He aquí un fragmento del código.

Código:
for host in ${Hosts}
do
  AssumedDir=$(batch_ssh ${host} "ls -1 /opt")
  if [[ ${AssumedDir} = *IBMHTTPServer*  ]]; then
    ServerInstallDir='/opt/IBMHTTPServer'
  else
    ServerInstallDir='/opt/IBMHttpServer'
  fi

 #DirectoryListing=$(batch_ssh ${host} "find ${ServerInstallDir} -type d -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'")
 #DirectoryListing=$(batch_ssh ${host} "ls -1 $ServerInstallDir")
 DirectoryListing=$(batch_ssh ${host} "ls -1 $ServerInstallDir | while read d; do echo $d ; done")

  ServerVersion=$(batch_ssh ${host} "${ServerInstallDir}/bin/httpd -V | awk 'NR < 2'")

  echo '<br /><h3>'${host}'</h3>' >> $HTMLFILE
  echo '<b>Server Version</b>: ' ${ServerVersion} >> $HTMLFILE
  echo '<br /><b>Directory Structure</b><br /> ' $DirectoryListing >> $HTMLFILE

done

#- Email results
html_mail -t "some.body@company.co.uk" -r "noreply@servername" -s "Apache Security Audit" -a "$HTMLFILE"
(Esto sed comando de arriba proceden de UNIX foros frecuente, me olvido el nombre! Gracias a pesar de - los dos comentó DirectoryListing variables son sólo la experimentación)

Así que después de esta secuencia de comandos lo ha hecho de la cosa, que invoca una perl script (html_mail) para enviar el informe. (No hacer esto, y sé que funciona bien). El correo llega a través de lo previsto, sin embargo, el listado de directorios es muy feo, se ve como esto:

Código:
_uninst admindocs bin cgi-bin conf example_module htdocs icons include keys.q.hpicheck.com keys.q.hpicheck.com.20061002_141729 keys.q.racexaminations.co.uk keys.q.racvehiclehealthcheck.co.uk keys.q.vehiclestatusreport.co.uk libexec license logs man readme ssl tivready version.signature
Me gustaría que el anterior archivo / directorio 's en la lista como lo sería después de la expedición `ls -1', desde la shell.

Gracias por leer mi correo, espero alguien me puede ayudar. Si tiene algún comentario de la calidad del aire por favor el código de ellos, ya que es mi primera (un poco) script útil, y estoy ansioso de todos los comentarios que pueden obtener. (La versión completa de la secuencia de comandos es Bash pastebin - herramienta de colaboración de depuración)

Gracias.
  #2 (Enlace permanente)  
Old 03-08-2008
Perderabo's Avatar
Perderabo Perderabo is online now Forum Staff  
Unix demonio
  
 

Fecha: agosto 2001
Ubicación: Ashburn, Virginia,
Mensajes: 9.114
Pruebe añadir comillas dobles:
echo '<br /> <b> Estructura del directorio </ b> <br /> " "$ DirectoryListing" >> $ HTMLFILE
  #3 (Enlace permanente)  
Old 03-09-2008
grebbux grebbux is offline
Usuario Registrado
  
 

Fecha: enero 2008
Puestos: 10
Gracias por la respuesta, Perderabo.

Cuando hago como usted sugiere, no devuelve la salida de la estructura de directorios lista.

Probé mis otros dos experimentales "DirectoryListing" variables con la variable "cita doble" en la eco declaración, que da salida, pero el mismo, feo, la producción tenía antes.

Gracias,
grebbux.
  #4 (Enlace permanente)  
Old 03-09-2008
grebbux grebbux is offline
Usuario Registrado
  
 

Fecha: enero 2008
Puestos: 10
Creo que estoy en algún lugar, al intentar esto:

Código:
echo $DirectoryListing | sed 's/ /<br>/' >> $HTMLFILE
FYI: Nada aparece si me pongo por encima de los $ DirectoryListing en "".

La lista es así:

Código:
_uninst
admindocs bin cgi-bin conf example_module htdocs icons include keys.q.hpicheck.com keys.q.hpicheck.com.20061002_141729 keys.q.racexaminations.co.uk keys.q.racvehiclehealthcheck.co.uk keys.q.vehiclestatusreport.co.uk libexec license logs man readme ssl tivready version.signature
Por lo tanto, tengo una <br> después de la primera lista. No entiendo por qué la ruptura no es sustituido por el resto de espacios bien!

Gracias de nuevo por la lectura.
grebbux.
  #5 (Enlace permanente)  
Old 03-09-2008
grebbux grebbux is offline
Usuario Registrado
  
 

Fecha: enero 2008
Puestos: 10
Lo hice.

Me fui para el enfoque conjunto.

Código:
declare -a DirectoryListing
$DirectoryListing=$(batch_ssh ${host} "ls -1 ${ServerInstallDir}")
for dir in ${DirectoryListing[@]}
do
echo $dir '<br>' >> $HTMLFILE
done
Gracias por la ayuda de todos modos.

*** *** Y RESUELTAS

grebbux.
  #6 (Enlace permanente)  
Old 03-09-2008
Perderabo's Avatar
Perderabo Perderabo is online now Forum Staff  
Unix demonio
  
 

Fecha: agosto 2001
Ubicación: Ashburn, Virginia,
Mensajes: 9.114
Cita:
Publicado originalmente por grebbux View Post
Creo que estoy en algún lugar, al intentar esto:

Código:
echo $DirectoryListing | sed 's/ /<br>/' >> $HTMLFILE
Por lo tanto, tengo una <br> después de la primera lista. No entiendo por qué la ruptura no es sustituido por el resto de espacios bien!
Eso sed s comando solo sustituye el primer partido. Se necesita el pabellón g hacer a todos.

Código:
echo $DirectoryListing | sed 's/ /<br>/g' >> $HTMLFILE
Pero me alegro que tienes que resolver.
  #7 (Enlace permanente)  
Old 03-09-2008
grebbux grebbux is offline
Usuario Registrado
  
 

Fecha: enero 2008
Puestos: 10
Ah gracias por responder, en mi opinión la sed sustitución es una solución mejor.
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 04:15 PM.


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