![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| for-Schleife Problem | mdap | Shell Programmierung und Scripting | 3 | 08-16-2008 02:27 PM |
| Loop-Problem | namishtiwari | UNIX for Dummies Questions & Answers | 4 | 07-15-2008 12:01 PM |
| awk-und Loop-Problem | invinzin21 | Shell Programmierung und Scripting | 3 | 02-04-2008 09:54 PM |
| Loop-Problem | dhananjaysk | Shell Programmierung und Scripting | 3 | 03-31-2006 02:05 PM |
| Problem mit der while-Schleife | mridula | High-Level-Programmierung | 1 | 12-11-2005 11:44 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Hi All
Ich bin greping einige Sache aus einer Datei, einige ist "/ var / www / html" / var / www "/ Beispiel" und so auf seine Anzeigen wie folgt aus, wenn u echo.i wollen jeder von ihnen in einem Schleife für processing.Like mit / var / www / html, dann 2. und so ein Aber dass nicht jeder iead, wie ich eins nach dem anderen Wert. Mein Code docroot \u003d $ (grep-H DocumentRoot / etc / httpd / conf.d / *. conf | awk-F '' '(print $ 3)' | sort-u | uniq) doccount \u003d $ (grep-H DocumentRoot / etc / httpd / conf.d / *. conf | awk-F '' '(print $ 3)' | sort-u | uniq | wc-l) for ((i \u003d 0; i <\u003d $ doccount; + + i)) tun confd \u003d "$ docroot \ n" echo $ confd find $ confd-type d-perm / o \u003d w | while read DIR tun machen, was done # # während getan done # # für getan |
|
||||
|
Vielen Dank für die Antwort, funktioniert nicht bedeutet, wenn ich auf einen Wert in Schleife Variable $ confd ich nicht verarbeiten, anstatt sie der Ansicht, online mit allen das Dokument root.I zeigen Ihnen meinen Code, und wenn ich staticelly die Verwendung von / var / WWW / HTML-Ausgabe ist in Ordnung, aber wenn ich
Im Loop-Problem occourced.I zeigen Ihnen Ausgang für beide. Code:
#!/bin/bash
let test=0
abc="/var/www/html"
docroot=$(grep -H DocumentRoot /etc/httpd/conf.d/*.conf | awk -F' ' '{ print $3 }'| sort -u | uniq)
doccount=$(grep -H DocumentRoot /etc/httpd/conf.d/*.conf | awk -F' ' '{ print $3 }'| sort -u | uniq | wc -l)
#i=0
#while [ $i -le $doccount ]
# do
# confd="$docroot\n"
#echo $confd
find $abc -type d -perm /o=w | while read DIR
do
test=$(cd "$DIR"; ls -A *.html *.php 2>/dev/null | wc -l)
if [ "$test" != "0" ]
then
echo "DIR Found WITH FILES"$DIR $test
fi
if [ `ls -a "$DIR" | wc -l` -le 2 ]
then
echo "Writable_dir Empty"$DIR
fi
done
#i=$(( $i + 1 ))
#done
count=$(find /var/www/html/ -type f -perm /o=w | grep -i ".htaccess"| wc -l )
find "$abc" -type f -perm /o=w | grep -i ".htaccess" | awk -F. '{ print $1 }' | while read this
do
echo "_htaccess_is_Writable"$this
done
Output with static docroot
DIR Found WITH FILES/var/www/html/test3 4
DIR Found WITH FILES/var/www/html/test3/abc 2
Writable_dir Empty/var/www/html/abc
DIR Found WITH FILES/var/www/html/test/abc 1
DIR Found WITH FILES/var/www/html/test2 1
Output with duynamic Docroot
"/var/www/html" "/var/www/test/www.example.com" "/var/www/www.example.com"\n
find: "/var/www: No such file or directory
find: "/var/www/test: No such file or directory
find: "/var/www: No such file or directory
"/var/www/html" "/var/www/test/www.example.com" "/var/www/www.example.com"\n
find: "/var/www: No such file or directory
find: "/var/www/test: No such file or directory
|
|
|||||
|
Ihr Code ist ein wenig falsch es in Ihrer Zuordnung mehrere Verzeichnisse zu den docroot und einen Zeilenumbruch. Kein Bedarf für die neue Linie. Set confd nach "$ docroot", nicht "docroot $ \ n". Wenn Sie die find $ confd es wird ein Zeilenumbruch in der Befehlszeile, wenn sie nicht gehören.
# while [$ i-le $ doccount] # Do # Confd \u003d "$ docroot \ n" # echo $ confd confd \u003d "$ docroot" find $ confd-type d-perm / o \u003d w | while read DIR was find / var / www / html / var / www / test / www.example.com / var / www / www.example.com-type d-perm / o \u003d w | while read DIR |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|