|
|
|
|
Google Site
|
|||||||
| Forum | Registrati | Blog | Man Pages | Regole Forum | Collegamenti | Album | FAQ | Utenti | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| UNIX for Dummies Domande & Risposte Se non sei sicuro dove pubblicare un UNIX o Linux domanda, posta da qui. Tutti i neofiti di Linux e UNIX benvenuto! |
![]() |
|
|
Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|||
|
ben formattato directory da lotto sessione ssh
Salve, Sono veramente fatica a finire di uno script mi è stato assegnato. Lo script viene utilizzato per accedere a ogni server definiti in un array, determinare la versione del server Web, e l'elenco della directory sotto la directory di installazione. Nel mio caso, questa directory di installazione è quasi sempre "/ opt / IBMHTTPServer" (a volte "/ opt / IBMHttpServer") Ecco un frammento di codice. Codice:
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"(That sed comando di cui sopra provengono da un forum di frequente UNIX, ho dimenticato il nome! Grazie anche se - ha commentato le due variabili sono solo DirectoryListing sperimentazione) Quindi, dopo questo script ha fatto della cosa, si invoca un perl script (html_mail) per inviare la sua relazione. (Non mi fare questo, e so che funziona bene). La mail passa attraverso, come previsto, tuttavia, l'elenco delle directory è molto brutto, che appare così: Codice:
_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 Vorrei che il sopra file / directory 's per essere elencate come sarebbero dopo il rilascio `ls -1` dalla shell. Grazie per la lettura dei miei post, spero che qualcuno mi può aiutare. Se avete osservazioni della qualità del codice di cui sopra si prega di aria, come è il mio primo (un po ') utile script, e mi sono ansiosi di tutti i commenti che posso ottenere. (Testo integrale della sceneggiatura è Bash pastebin - collaborative debugging tool) Grazie. |
| Sponsored Links | ||
|
|
|
|||
|
Grazie per la risposta, Perderabo.
Quando faccio come lei suggerisce, non restituisce output per la struttura delle directory listing. Ho provato i miei altri due sperimentale "DirectoryListing" variabili con la variabile "virgolette doppie" nel echo dichiarazione, che dà in uscita, ma lo stesso, brutto, la produzione mi aveva prima. Grazie, grebbux. |
|
|||
|
I think I'm ottenere qualche parte, quando si tenta questo: Codice:
echo $DirectoryListing | sed 's/ /<br>/' >> $HTMLFILE FYI: Nulla è elencato se ho messo sopra i $ DirectoryListing in "". L'elenco è simile a questa: Codice:
_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 Così ho <br> uno dopo la prima quotazione. Non capisco perché la rottura non è sostituito per tutti gli altri spazi se! Grazie ancora per la lettura. grebbux. |
|
|||
|
L'ho fatto. Sono andata per la serie approccio. Codice:
declare -a DirectoryListing
$DirectoryListing=$(batch_ssh ${host} "ls -1 ${ServerInstallDir}")
for dir in ${DirectoryListing[@]}
do
echo $dir '<br>' >> $HTMLFILE
doneGrazie per l'aiuto comunque. ![]() *** *** RISOLTE grebbux. |
|
|||
|
Ah, grazie per la risposta, credo che la sed sostituzione è una soluzione migliore.
![]() |
| Sponsored Links |
|
|
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| Ordinamento Directory Listing | Seppia | UNIX for Dummies Domande & Risposte | 1 | 07-11-2007 08:44 AM |
| Come posso ottenere l'elenco directory? | haisubbu | UNIX for Dummies Domande & Risposte | 2 | 08-25-2006 10:03 AM |
| Full Directory Listing ... | B14speedfreak | UNIX for Dummies Domande & Risposte | 5 | 05-11-2006 09:06 AM |
| Timestamp nella directory | vijashok | UNIX for Dummies Domande & Risposte | 2 | 10-06-2005 AM 11:03 |
| Recursive directory senza lista file | psingh | UNIX for Dummies Domande & Risposte | 4 | 05-10-2002 11:52 AM |