The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > UNIX voor Dummies Questions & Answers
.
google unix.com



UNIX voor Dummies Questions & Answers Als u niet zeker weet waar je een Unix-of Linux vraag, post het hier. Alle UNIX-en Linux beginners van harte welkom!!

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Sortering Directory Listing Sepia UNIX voor Dummies Questions & Answers 1 07-11-2007 08:44
Hoe krijg ik directory listing? haisubbu UNIX voor Dummies Questions & Answers 2 08-25-2006 10:03
Volledige Directory Listing ... B14speedfreak UNIX voor Dummies Questions & Answers 5 05-11-2006 09:06
Tijdstempel in de directory listing vijashok UNIX voor Dummies Questions & Answers 2 10-06-2005 11:03
Recursive directory listing zonder vermelding bestanden psingh UNIX voor Dummies Questions & Answers 4 05-10-2002 11:52

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 03-08-2008
grebbux grebbux is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 10
mooi opgemaakte directory listing van batch SSH sessie

Hoi,

Ik ben echt worstelen tot het einde van een script dat ik heb gekregen.
Het script is bedoeld om in te loggen op elke server gedefinieerd in een array, het bepalen van de Web Server-versie, en een lijst van de directory onder de installatie-directory. In mijn geval, deze installatie map is bijna altijd "/ opt / IBMHTTPServer" (soms "/ opt / IBMHttpServer")

Hier is een fragment uit de code.

Code:
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"
(Dat sed commando boven komen van een UNIX-forums frequent, ik vergeet de naam! Dankzij al - de twee besproken DirectoryListing vars zijn slechts experimenten)

Dus na dit script heeft gedaan is het ding, dat zich beroept op een perl script (html_mail) voor het versturen van het verslag. (Heb ik niet maken, en ik weet dat het goed werkt). De mail komt zoals gepland, maar de directory listing is erg lelijk, hij ziet er als volgt uit:

Code:
_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
Ik zou graag zien dat de bovenstaande bestanden / directory 's moeten worden vermeld zoals ze zouden zijn na afgifte `ls -1" uit het reservoir.

Dank u voor het lezen van mijn bericht, ik hoop dat iemand kan me helpen. Als u commentaar heeft op de kwaliteit van de code kunt u de lucht boven hen, want het is mijn eerste (enigszins) bruikbaar script, en ik ben graag voor alle feedback die ik kan krijgen. (Volledige versie van het script is Bash pastebin - collaborative debugging tool)

Bedankt.
  #2 (permalink)  
Old 03-08-2008
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Locatie: Ashburn, Virginia
Berichten: 9.123
Probeer het toevoegen van dubbele aanhalingstekens:
echo '<br /> <b> Directory-structuur: </ b> <br />' "$ DirectoryListing" >> $ HTMLFILE
  #3 (permalink)  
Old 03-09-2008
grebbux grebbux is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 10
Bedankt voor het antwoord, Perderabo.

Toen ik doen als u suggereren, geen uitvoer rendementen voor de directory-structuur aanbieding.

Ik probeerde mijn andere twee experimentele "DirectoryListing" variabelen met de variabele "dubbele notering" in de echo verklaring, dat de output, maar dezelfde, lelijk, output Ik had tevoren.

Bedankt,
grebbux.
  #4 (permalink)  
Old 03-09-2008
grebbux grebbux is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 10
Ik denk dat ik ergens ben je, als ik probeer dit:

Code:
echo $DirectoryListing | sed 's/ /<br>/' >> $HTMLFILE
FYI: Niets is genoteerd als ik de bovenstaande $ DirectoryListing in "".

De aanbieding ziet er als volgt uit:

Code:
_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
Dus ik heb een <br> na de eerste notering. Ik begrijp niet waarom de pauze wordt niet vervangen door alle andere ruimten al!

Nogmaals bedankt voor het lezen.
grebbux.
  #5 (permalink)  
Old 03-09-2008
grebbux grebbux is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 10
Ik heb het gedaan.

Ik ging voor de array aanpak.

Code:
declare -a DirectoryListing
$DirectoryListing=$(batch_ssh ${host} "ls -1 ${ServerInstallDir}")
for dir in ${DirectoryListing[@]}
do
echo $dir '<br>' >> $HTMLFILE
done
Bedankt voor de hulp anyway.

*** SOLVED ***

grebbux.
  #6 (permalink)  
Old 03-09-2008
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Locatie: Ashburn, Virginia
Berichten: 9.123
Citaat:
Oorspronkelijk geplaatst door grebbux View Post
Ik denk dat ik ergens ben je, als ik probeer dit:

Code:
echo $DirectoryListing | sed 's/ /<br>/' >> $HTMLFILE
Dus ik heb een <br> na de eerste notering. Ik begrijp niet waarom de pauze wordt niet vervangen door alle andere ruimten al!
Dat sed s commando alleen in de plaats van de eerste wedstrijd. U moet het g vlag te doen ze allemaal.

Code:
echo $DirectoryListing | sed 's/ /<br>/g' >> $HTMLFILE
Maar ik ben blij dat je het hebt opgelost.
  #7 (permalink)  
Old 03-09-2008
grebbux grebbux is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 10
Ah dank voor antwoord er, ik denk dat de sed substitutie is een betere oplossing.
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 12:48 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0