![]() |
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| 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 |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
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"
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 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. |
|
||||
|
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. |
|
||||
|
Creo que estoy en algún lugar, al intentar esto:
Código:
echo $DirectoryListing | sed 's/ /<br>/' >> $HTMLFILE 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 Gracias de nuevo por la lectura. grebbux. |
|
||||
|
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
![]() *** *** Y RESUELTAS grebbux. |
|
||||
|
Ah gracias por responder, en mi opinión la sed sustitución es una solución mejor.
![]() |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|