Dises Skriptstück ...
| for BINDIR in /opt/*/bin
| do
| if [ -n `echo $PATH | grep $BINDIR` ]
| then
| if [ -d $BINDIR/X11 ]
| then
| PATH=$PATH:$BINDIR/X11
| else
| PATH=$PATH:$BINDIR
| fi
| fi
| done
| export PATH
... braucht ziemlich lange. Vermutlich deswegen, weil ...
[ -n `echo $PATH | grep $BINDIR` ]
... eine ziemlich ineffektive Methode ist, eine Zeichenkette nach einem
Teilstring zu durchsuchen. Gibt es eine bessere? Vielen Dank.
.. Robert
> Dises Skriptstück ...
[schnipp]
> ... braucht ziemlich lange. Vermutlich deswegen, weil ...
> [ -n `echo $PATH | grep $BINDIR` ]
> ... eine ziemlich ineffektive Methode ist, eine Zeichenkette nach einem
> Teilstring zu durchsuchen. Gibt es eine bessere? Vielen Dank.
Damit wird für jedes Verzeichnis ein grep-Prozess gestartet. Das ist
nicht sehr schnell.
Ich hätte das jetzt so gemacht, da werden erst doppelte Pfade in Kauf
genommen und am Ende dann die Doppelungen entfernt.
for BINDIR in /opt/*/bin
do
if [ -d $BINDIR/X11 ]
then
PATH=$PATH:$BINDIR/X11
else
PATH=$PATH:$BINDIR
fi
done
PATH=$(echo -n $PATH | tr : \\n | sort | uniq | tr \\n : | sed s/:$//)
export PATH
Dummerweise ist Dein PATH jetzt alphabetisch sortiert. Mal sehen, ob
wir das verhindern können :-)
<Viertelstunde später> So, wie wäre es damit?
for BINDIR in /opt/*/bin
do
if [ -d $BINDIR/X11 ]
then
PATH=$PATH:$BINDIR/X11
else
PATH=$PATH:$BINDIR
fi
done
NR=1
PATH=$(echo $PATH | tr : \\n | \
while read PFAD; do echo $NR $PFAD; NR=$(($NR+1)); done | \
sort -rn | sort -k 2 -k 1n | uniq -f 1 | \
sort -n | cut -d \ -f 2 | tr \\n : | sed s/:$//)
export PATH
Das ruft jetzt allerdings so viele Prozesse auf, daß Du schon wirklich
viel unter /opt liegen haben musst, um einen Geschwindigkeitsgewinn
rauszuholen :-)
Oder alles in kurz mit nur einem externen Prozess:
PATH=$(perl -we 'use strict; my $path=$ENV{PATH}; map {if ( $path !~ /$_/ )
{ $path .= ":$_"; $path .= "/X11" if ( -d "$_/X11" ); }} glob "/opt/*/bin";
print "$path";')
echo $PATH
Gruß,
Christian
--
....Christian.Garbs.....................................http://www.cgarbs.de
Politik ist die Kunst, Geld von den Reichen und Stimmzettel von den Armen
zu ergattern, unter dem Vorwand, jeden der beiden vor dem anderen zu
schützen.
nur ´ne Idee:
for BINDIR in /opt/*/bin
do
if [ -d $BINDIR/X11 ]
then
NPATH=$NPATH:$BINDIR/X11
else
NPATH=$NPATH:$BINDIR
fi
done
NPATH=$(echo $NPATH | tr : \\n | sort | uniq | tr \\n : | sed s/:$//)
export PATH=$PATH:$NPATH
Gruß,
Lars
Ich würde das folgendermaßen lösen:
#!/usr/bin/bsh
for BINDIR in /opt/*/bin
do
expr "$PATH" :: "$BINDIR" || continue
x11=""
[ -d $BINDIR/X11 ] && x11=/X11
PATH=$PATH:$BINDIR$x11
done
#expr ist bsh-intern
--
Mit freundlichen Grüßen
Helmut Schellong po...@schellong.de po...@schellong.com
http://www.schellong.de http://www.schellong.com
http://home.t-online.de/home/schellong sche...@t-online.de
> ... braucht ziemlich lange. Vermutlich deswegen, weil ...
>
> [ -n `echo $PATH | grep $BINDIR` ]
>
> ... eine ziemlich ineffektive Methode ist, eine Zeichenkette nach einem
> Teilstring zu durchsuchen. Gibt es eine bessere? Vielen Dank.
case $PATH in
*${BINDIR}*) : enthalten ;;
*) : nicht enthalten ;;
esac
--
Christian "naddy" Weisgerber na...@mips.inka.de
> #!/usr/bin/bsh
>
> for BINDIR in /opt/*/bin
> do
> expr "$PATH" :: "$BINDIR" || continue
> x11=""
> [ -d $BINDIR/X11 ] && x11=/X11
> PATH=$PATH:$BINDIR$x11
> done
>
> #expr ist bsh-intern
Mußt Du hier unbedingt Werbung für die proprietären Eigenschaften eines
kommerziellen Tools machen? Zumal Du Dich damit im Vergleich zur Eleganz
von <9ita88$pvn$1...@kemoauc.mips.inka.de> kräftig in die Nesseln setzt.
Grüße,
Gunnar
Du schreibst einen ziemlichen Quatsch daher.
> Robert Lange <robert...@gmx.net> wrote:
>> ... braucht ziemlich lange. Vermutlich deswegen, weil ...
>>
>> [ -n `echo $PATH | grep $BINDIR` ]
>>
>> ... eine ziemlich ineffektive Methode ist, eine Zeichenkette nach einem
>> Teilstring zu durchsuchen. Gibt es eine bessere? Vielen Dank.
>
> case $PATH in
> *${BINDIR}*) : enthalten ;;
> *) : nicht enthalten ;;
> esac
Für den allgemeinen Fall ergeben sich weitere Probleme:
PATH=/usr//bin:/usr/bin/X11/
BINDIR=/bin
also:
PATH=`echo "$PATH" | sed -e 's+//*+/+g
s+/:+:+g
s+/$++'` export PATH
case $PATH in
$BINDIR|$BINDIR:*|*:$BINDIR:*|*:$BINDIR)
echo gotcha!
;;
esac
Hoffentlich war es das jetzt; sieht jemand noch eins?
Grüße,
Gunnar
Haha, hoho, ROTFL.
· »::« bei expr ist proprietär, da weder POSIX.2 noch SUSv2.
· Deine »bsh« ist kommerziell, Du verlangst Geld für die Vollversion.
· Werbung ist es, weil Du die entsprechenden URLs in Deiner Sig (deshalb
mitgequotet) anpreist.
· <9ita88$pvn$1...@kemoauc.mips.inka.de> ist eleganter, da voll portabel.
· Du setzt Dich in die Nesseln, weil Dein expr bei »::« den zweiten
String als regular expression auffaßt und deshalb z.B. ein Punkt
in $BINDIR einen String matcht, den er in diesem Kontext nicht
matchen sollte.
So, und jetzt zeigst Du der geneigten Leserschaft mal, welche meiner
Einzelthesen weshalb Quatsch sein soll.
Grüße,
Gunnar
Haha, hoho, ROTFL.
· »::« bei expr ist proprietär, da weder POSIX.2 noch SUSv2.
· Deine »bsh« ist kommerziell, Du verlangst Geld für die Vollversion.
· Werbung ist es, weil Du die entsprechenden URLs in Deiner Sig (deshalb
mitgequotet) anpreist.
· <9ita88$pvn$1...@kemoauc.mips.inka.de> ist eleganter, da voll portabel.
· Du setzt Dich in die Nesseln, weil Dein expr bei »::« den zweiten
String als regular expression auffasst und deshalb z.B. ein Punkt
Dann ist $[1+2] ebenfalls proprietär - x-fach hier zu lesen.
> · Deine »bsh« ist kommerziell, Du verlangst Geld für die Vollversion.
Nein, bsh ist nicht kommerziell.
Es gibt seit Jahren viele Versionen für diverse Plattformen
zum kostenlosen Download ohne eingebautes Zeitlimit.
Und bsh wurde auch schon tausende Male kostenlos runtergeladen.
Es gibt *auch* kostenpflichtige Versionen - wer das will.
Aber das ist streng genommen andere Software.
> · Werbung ist es, weil Du die entsprechenden URLs in Deiner Sig (deshalb
> mitgequotet) anpreist.
Zu einem gehörende URLs in der Sig anzugeben, ist total normal
und üblich.
Das erfüllt nicht den Tatbestand einer Produktwerbung.
Wenn ich angegeben hätte:
"Helmut Schellong: Autor der Shell 'bsh'"
"Die bsh-Seite: http://www.schellong.com"
ja, dann wäre es Werbung.
> · <9ita88$pvn$1...@kemoauc.mips.inka.de> ist eleganter, da voll portabel.
Ich leite 'eleganter' nicht von 'voll portabel' ab...
Das sehe ich also anders.
Andere vielleicht auch.
> · Du setzt Dich in die Nesseln, weil Dein expr bei »::« den zweiten
> String als regular expression auffasst und deshalb z.B. ein Punkt
> in $BINDIR einen String matcht, den er in diesem Kontext nicht
> matchen sollte.
Das gleiche trifft auch auf 'grep' zu.
> So, und jetzt zeigst Du der geneigten Leserschaft mal, welche meiner
> Einzelthesen weshalb Quatsch sein soll.
Ich habe bei meinem Posting das Posting des Original-Posters
inhaltlich berücksichtigt und dessen Frage konkret beantwortet.
Vergleiche mal *alle* Antwort-Postings untereinander.
> Gunnar Ritter wrote:
>> · »::« bei expr ist proprietär, da weder POSIX.2 noch SUSv2.
>
> Dann ist $[1+2] ebenfalls proprietär
Fraglos.
> - x-fach hier zu lesen.
Nimm groups.google.com und suche nach »portabel«, um Dich über die
Diskussionsgeschichte des Begriffs in dieser Gruppe zu informieren.
>> · Deine »bsh« ist kommerziell, Du verlangst Geld für die Vollversion.
>
> Nein, bsh ist nicht kommerziell.
> Es gibt seit Jahren viele Versionen für diverse Plattformen
> zum kostenlosen Download ohne eingebautes Zeitlimit.
Haha, ohne Zeitlimit! Lächerlich. Ein Tool, das beim Start einen
elfzeiligen Lizenz-Disclaimer ausspuckt, mit Zeichen aus einer
DOS-Codepage auf einem Linux-xterm! Wo sind die Quellen, damit
ich diesen Unsinn ausschalten kann? Ach, gibt's nicht? Komisch.
Und ich dachte schon kurz, es sei nicht kommerziell.
> Und bsh wurde auch schon tausende Male kostenlos runtergeladen.
Ja, der Internet Explorer auch. Meinst Du wirklich, daß Du mit
diesem naiven Verständnis von Kommerzialität in einer Newsgroup
voller Linuxer auf Anerkennung stoßen wirst? Vielleicht solltest
Du Deine Zielgruppe ein bißchen besser erforschen.
> Wenn ich angegeben hätte:
> "Helmut Schellong: Autor der Shell 'bsh'"
Das weiß man doch sowieso. Wer es noch nicht wußte, weiß es jetzt.
> "Die bsh-Seite: http://www.schellong.com"
> ja, dann wäre es Werbung.
Deine Methode ist eben geringfügig subtiler. Kein Wunder, sonst
würde man Dich ja gleich beim ersten Posting teeren und federn.
>> · <9ita88$pvn$1...@kemoauc.mips.inka.de> ist eleganter, da voll portabel.
>
> Ich leite 'eleganter' nicht von 'voll portabel' ab...
> Das sehe ich also anders.
Das dürfte kaum verwundern, da Du ja der Hersteller einer proprietären
Kommerz-Shell bist und Dich sonst selbst demontieren würdest.
> Andere vielleicht auch.
Die meisten Loser dieser Art haben wir hier längst gesteinigt.
>> · Du setzt Dich in die Nesseln, weil Dein expr bei »::« den zweiten
>> String als regular expression auffasst und deshalb z.B. ein Punkt
>> in $BINDIR einen String matcht, den er in diesem Kontext nicht
>> matchen sollte.
>
> Das gleiche trifft auch auf 'grep' zu.
Ach so, Du wolltest also die Fehler des Originalpostings duplizieren,
lediglich mit erhöhter Geschwindigkeit? Interessanter Ansatz.
>> So, und jetzt zeigst Du der geneigten Leserschaft mal, welche meiner
>> Einzelthesen weshalb Quatsch sein soll.
>
> Ich habe bei meinem Posting das Posting des Original-Posters
> inhaltlich berücksichtigt
Eben nicht. Korrekter Code müßte zwei Textstrings matchen.
> Vergleiche mal *alle* Antwort-Postings untereinander.
Klar, dümmer geht immer. Ist das die Meßlatte, die Du für Dich
anzulegen pflegst?
Grüße,
Gunnar
> for BINDIR in /opt/*/bin
> do
> if [ -d $BINDIR/X11 ]
> then
> PATH=$PATH:$BINDIR/X11
> else
> PATH=$PATH:$BINDIR
> fi
> done
> NR=1
> PATH=$(echo $PATH | tr : \\n | \
> while read PFAD; do echo $NR $PFAD; NR=$(($NR+1)); done | \
> sort -rn | sort -k 2 -k 1n | uniq -f 1 | \
> sort -n | cut -d \ -f 2 | tr \\n : | sed s/:$//)
> export PATH
Das längliche NR= ... while ... done kann man durch "nl" ersetzen:
PATH=$(echo $PATH | tr : \\n | nl | \
sort -rn | sort -k 2 -k 1n | uniq -f 1 | \
sort -n | cut -c 8- | tr \\n : | sed s/:$//)
export PATH
Allerdings geht das jetzt wahrscheinlich kaputt, wenn man mehr als
999999 Pfade hat (dann kommt nämlich das cut aus dem Tritt) :-)
> PATH=$(perl -we 'use strict; my $path=$ENV{PATH}; map {if ( $path !~ /$_/ )
> { $path .= ":$_"; $path .= "/X11" if ( -d "$_/X11" ); }} glob "/opt/*/bin";
> print "$path";')
> echo $PATH
soll natürlich "export PATH" statt "echo $PATH" heissen...
Gruß,
Christian
--
....Christian.Garbs.....................................http://www.cgarbs.de
4 von 3 Leuten können nicht rechnen.
> nur ´ne Idee:
> for BINDIR in /opt/*/bin
> do
> if [ -d $BINDIR/X11 ]
> then
> NPATH=$NPATH:$BINDIR/X11
> else
> NPATH=$NPATH:$BINDIR
> fi
> done
> NPATH=$(echo $NPATH | tr : \\n | sort | uniq | tr \\n : | sed s/:$//)
> export PATH=$PATH:$NPATH
Löst das Problem der Sortierung, allerdings werden da nicht alle
Doppelungen entfernt. Einfaches Beispiel: Führe das Skript zweimal
nacheinander aus :-)
Moment mal - bei genauerer Betrachtung kann in NPATH gar nichts
doppelt vorkommen, da ja aus /opt/*/bin keine doppelten Pfade
entstehen können. Also ist obiges äquivalent zu diesem hier:
for BINDIR in /opt/*/bin
do
if [ -d $BINDIR/X11 ]
then
NPATH=$NPATH:$BINDIR/X11
else
NPATH=$NPATH:$BINDIR
fi
done
export PATH=$PATH$NPATH
Ich habe den Doppelpunkt da weggemacht, sonst hast Du dort zwei stehen.
Gruß,
Christian
--
....Christian.Garbs.....................................http://www.cgarbs.de
:wq!^W SYS64738
> Für den allgemeinen Fall ergeben sich weitere Probleme:
> PATH=/usr//bin:/usr/bin/X11/
> BINDIR=/bin
> also:
> PATH=`echo "$PATH" | sed -e 's+//*+/+g
> s+/:+:+g
> s+/$++'` export PATH
>
> case $PATH in
> $BINDIR|$BINDIR:*|*:$BINDIR:*|*:$BINDIR)
> echo gotcha!
> ;;
> esac
Könnte man da nicht auch einfach
case :$PATH: in
*:$BINDIR:*)
echo gotcha!
;;
esac
schreiben? Spart die vorherige Transformation von $PATH.
Aber echt interessant der Ansatz: Ein case..switch-Konstrukt mit
konstantem Case und variablen Switches hab' ich noch nicht gesehen :-)
Gruß,
Christian
--
....Christian.Garbs.....................................http://www.cgarbs.de
The quote of the day: '
> Gunnar Ritter <g...@bigfoot.de> wrote:
>> Für den allgemeinen Fall ergeben sich weitere Probleme:
>
>> PATH=/usr//bin:/usr/bin/X11/
>> BINDIR=/bin
>
>> also:
>
>> PATH=`echo "$PATH" | sed -e 's+//*+/+g
>> s+/:+:+g
>> s+/$++'` export PATH
>>
>> case $PATH in
>> $BINDIR|$BINDIR:*|*:$BINDIR:*|*:$BINDIR)
>> echo gotcha!
>> ;;
>> esac
>
> Könnte man da nicht auch einfach
>
> case :$PATH: in
> *:$BINDIR:*)
> echo gotcha!
> ;;
> esac
>
> schreiben? Spart die vorherige Transformation von $PATH.
Nein. Das sed-Skript löscht Slashes, keine Colons. Man könnte aber das
Matching damit verkürzen und (wenn auch vernachlässigbar) schneller
machen, da hast Du vollkommen recht.
> Aber echt interessant der Ansatz: Ein case..switch-Konstrukt mit
> konstantem Case und variablen Switches hab' ich noch nicht gesehen :-)
Ist ja auch kein C. Wer Shell programmieren will, muß Shell denken.
Grüße,
Gunnar
Portabilität und Proprietär sind zwei verschiedene Dinge.
Portabilität bei Shells muß man vielschichtig betrachten.
> >> · Deine »bsh« ist kommerziell, Du verlangst Geld für die Vollversion.
> >
> > Nein, bsh ist nicht kommerziell.
> > Es gibt seit Jahren viele Versionen für diverse Plattformen
> > zum kostenlosen Download ohne eingebautes Zeitlimit.
>
> Haha, ohne Zeitlimit! Lächerlich. Ein Tool, das beim Start einen
> elfzeiligen Lizenz-Disclaimer ausspuckt, mit Zeichen aus einer
> DOS-Codepage auf einem Linux-xterm! Wo sind die Quellen, damit
> ich diesen Unsinn ausschalten kann? Ach, gibt's nicht? Komisch.
> Und ich dachte schon kurz, es sei nicht kommerziell.
Hat es ein Zeitlimit? -- Nein.
Es gibt Shareware, PublicDomain, FreeLicence, CharityWare, GNU, ...
bsh ist eben Shareware mit individueller FreeLizenz.
Bei Shareware sind solche Starttexte Pflicht.
Und die von Dir genannte DOS-Codepage ist in Wahrheit
der IBM-PC8-Ur-Zeichensatz, der im Character-ROM eines jeden
PCs steckt.
Bei FreeBSD ist es der Standard-Zeichensatz (im Zeichenmodus).
> > Und bsh wurde auch schon tausende Male kostenlos runtergeladen.
>
> Ja, der Internet Explorer auch. Meinst Du wirklich, daß Du mit
> diesem naiven Verständnis von Kommerzialität in einer Newsgroup
> voller Linuxer auf Anerkennung stoßen wirst? Vielleicht solltest
> Du Deine Zielgruppe ein bißchen besser erforschen.
Heißt diese NG ...linux.shell ?
Willst Du den Begriff 'Portabilität' auf *ein* BS fokussieren?
Willst Du behaupten, daß jegliche Software, die *nicht*
OpenSource ist, automatisch kommerziell und proprietär ist?!
Ist Netscape kommerziell?
In der EDV-Welt ist eine Software proprietär, wenn sie eine
ganz eigenwillige Firmen-Lösung darstellt, die mit nichts kompatibel
ist und sich nicht an (DeFakto-)Standards hält
und zudem ausschließlich gegen (viel) Geld abgegeben wird.
Solche Software wird allgemein mit 'proprietär' beschimpft.
Das trifft auf 'bsh' jedoch nicht zu.
> > Wenn ich angegeben hätte:
> > "Helmut Schellong: Autor der Shell 'bsh'"
>
> Das weiß man doch sowieso. Wer es noch nicht wußte, weiß es jetzt.
Im wesentlichen durch Deinen ersten Kritik-Beitrag. :-)
> > "Die bsh-Seite: http://www.schellong.com"
> > ja, dann wäre es Werbung.
>
> Deine Methode ist eben geringfügig subtiler. Kein Wunder, sonst
> würde man Dich ja gleich beim ersten Posting teeren und federn.
Meine Internet-Anschriften hatte und habe ich grundsätzlich
in der Sig, ganz unabhängig vom Inhalt der Seiten.
Und -- nicht nur ich!
> >> · <9ita88$pvn$1...@kemoauc.mips.inka.de> ist eleganter, da voll portabel.
> >
> > Ich leite 'eleganter' nicht von 'voll portabel' ab...
> > Das sehe ich also anders.
>
> Das dürfte kaum verwundern, da Du ja der Hersteller einer proprietären
> Kommerz-Shell bist und Dich sonst selbst demontieren würdest.
Nein, man kann z.B. eine Script-Lösung auch als 'elegant' bezeichnen,
wenn sie ohne irgendeine externe Exe auskommt.
Oder ... oder ... oder ...
> > Andere vielleicht auch.
>
> Die meisten Loser dieser Art haben wir hier längst gesteinigt.
Hmm, eine verstockte, intolerante NG soll das hier sein?
> >> · Du setzt Dich in die Nesseln, weil Dein expr bei »::« den zweiten
> >> String als regular expression auffasst und deshalb z.B. ein Punkt
> >> in $BINDIR einen String matcht, den er in diesem Kontext nicht
> >> matchen sollte.
> >
> > Das gleiche trifft auch auf 'grep' zu.
>
> Ach so, Du wolltest also die Fehler des Originalpostings duplizieren,
> lediglich mit erhöhter Geschwindigkeit? Interessanter Ansatz.
Erstens haben fast alle Antworter das so fortgeführt.
Zweitens müßten idealerweise *alle* Zeichen berücksichtigt
werden, die in einem RE speziell sind - nicht nur der '.',
der zudem sogar ziemlich unproblematisch ist.
Drittens programmiert man oft *bewußt* unter der Annahme,
daß Dateinamen unter Unix nur # + - (~) als besondere Zeichen
enthalten, weil das die Lösungen *beträchtlich* einfacher macht.
> >> So, und jetzt zeigst Du der geneigten Leserschaft mal, welche meiner
> >> Einzelthesen weshalb Quatsch sein soll.
> >
> > Ich habe bei meinem Posting das Posting des Original-Posters
> > inhaltlich berücksichtigt
>
> Eben nicht. Korrekter Code müßte zwei Textstrings matchen.
Eben doch.
Der OP hatte ausdrücklich 'Performance' als sein *einziges*
Problem genannt!
Und ich hatte ihm daraufhin eine Lösung gezeigt, die
möglicherweise 50-fach schneller läuft -- also!
if ! echo $PATH | grep $BINDIR >/dev/null 2>&1
then
Das hätte auch den Vorteil, dass es nur die Directories trifft, die noch
nicht in $PATH sind.
Oder:
for BINDIR in /opt/*/bin ; do
case $PATH in
*"$BINDIR"*) ;;
*)
if [ -d $BINDIR/X11 ]
then
PATH=$PATH:$BINDIR/X11
else
PATH=$PATH:$BINDIR
fi
;;
esac
done
Viele Grüsse...
Michael
Ja, und genau darauf wird auch immer wieder hingewiesen (meistens mehrmals).
Wenn man nun allerdings sehr genau hinsieht, wird man doch einen Unterschied
zwischen beiden Features erkennen: $[..] ist ein Feature einer weit verbrei-
teten "kostenlos einschliesslich Source" erhaeltlichen shell, :: in expr
ist ein Feature einer deutlich weniger weit verbreiteten (und vermutlich auf
weniger Systeme portierten( kommerziellen shell, von der man den Source nicht
bekommen kann ...
Nicht, dass das fuer mich eine ndeutlichen Unterschied ausmachen wuerde
(ich benutze beide Features nicht), aber mancher wird da doch (genau aus
diesem Grunde) einen Unterschied sehen ...
>> · Deine »bsh« ist kommerziell, Du verlangst Geld für die Vollversion.
> Nein, bsh ist nicht kommerziell.
> Es gibt seit Jahren viele Versionen für diverse Plattformen
> zum kostenlosen Download ohne eingebautes Zeitlimit.
> Und bsh wurde auch schon tausende Male kostenlos runtergeladen.
> Es gibt *auch* kostenpflichtige Versionen - wer das will.
> Aber das ist streng genommen andere Software.
Also ist die kostenlose bsh eine eingescharenkte Version? Oder wo liegen
genau die Unterschiede?
Tatsache ist zumindest, dass (obwohl mir das nicht sonderlich gefaellt)
die bash die "Standard-shell" fuer eine ganze Reihe von Systemen ist,
die bsh ist auf KEINEM System wirklich Standard (sondern ueberall nur
optionale Zusatzsoftware). Demnach ist es IMHO nicht verwerflich, AUCH
auf ein Feature der bsh hinzuweisen, dann aber (wiederum IMHO) NUR, wenn
man EXPLIZIT erwaehnt, dass es sich um ein ausschliesslich in der bsh
(die keinem System per Default beiliegt) verfuegbares Feature handelt
und das portable Loesungen anders aussehen muessten.
>> · Werbung ist es, weil Du die entsprechenden URLs in Deiner Sig (deshalb
>> mitgequotet) anpreist.
Hier hast du wiederum Unrecht. Was in der Sig steht, sollte NIEMALS
kritisiert werden (solange es nichts rechtswidriges ist und der ueb-
liche Umfang von maximal 4 Zeilen a 80 Zeichen nicht ueberschritten wird).
> Wenn ich angegeben hätte:
> "Helmut Schellong: Autor der Shell 'bsh'"
> "Die bsh-Seite: http://www.schellong.com"
> ja, dann wäre es Werbung.
... und waere IMHO als Signatur immer noch nicht zu kritisieren gewesen ...
>> · <9ita88$pvn$1...@kemoauc.mips.inka.de> ist eleganter, da voll portabel.
> Ich leite 'eleganter' nicht von 'voll portabel' ab...
> Das sehe ich also anders.
> Andere vielleicht auch.
Wer auf verschiedenen (verschiedensten?) Systemen unterwegs ist, wird
dem Thema "Portabilitaet" moeglicherweise etwas mehr Bedeutung beimessen
als du. Ich halte es fuer einen Fehler sich auf solche Features zu *ver-
lassen* (egal ob :: im Zusammenhang mit expr oder $[...]).
Och denke andere werden das vielleicht aehnlich sehen (spaetestens, wenn
sie mal mit einem System im Single-User-Mode mit read-only gemounteten
Platten konfrontiert sind und mit einer altertuemlichen Bourne-shell aus
der "vor-Posix" Zeit das System wieder zum laufen bekommen sollen ...).
Tschuess,
Juergen Ilse (il...@asys-h.de)
--
Du hast keine Spracherkennung installiert? | Juergen Ilse
Doch Komma aber Mai Stenz Macht Sie den um Gang |Internet POP Hannover GmbH
mit dem Juice nett auch nicht leichter. |Vahrenwalder Str. 205
(Adrian Suter und Matthias Esken in dsnu) |30165 Hannover
> Portabilität und Proprietär sind zwei verschiedene Dinge.
Ja. Aber sie stehen konträr zueinander. Willst Du etwa bestreiten, daß
Dein »::« für expr sowohl unportabel als auch proprietär ist?
> Portabilität bei Shells muß man vielschichtig betrachten.
Bla, bla, bla.
>> Haha, ohne Zeitlimit! Lächerlich. Ein Tool, das beim Start einen
>> elfzeiligen Lizenz-Disclaimer ausspuckt, mit Zeichen aus einer
>> DOS-Codepage auf einem Linux-xterm! Wo sind die Quellen, damit
>> ich diesen Unsinn ausschalten kann? Ach, gibt's nicht? Komisch.
>> Und ich dachte schon kurz, es sei nicht kommerziell.
>
> Hat es ein Zeitlimit? -- Nein.
Wenn »Zeitlimit« Dein einziges Kriterium für »kommerziell« ist, tust
Du mir leid. Du hast dann schlicht die letzten fünf bis zehn Jahre
Entwicklung unter Unix-artigen Systemen verpaßt. Shareware-Autor,
daß ich nicht lache.
> Bei Shareware sind solche Starttexte Pflicht.
Ein Grund, warum sie kein normaler Mensch mehr benutzt oder programmiert.
> Und die von Dir genannte DOS-Codepage ist in Wahrheit
> der IBM-PC8-Ur-Zeichensatz, der im Character-ROM eines jeden
> PCs steckt.
> Bei FreeBSD ist es der Standard-Zeichensatz (im Zeichenmodus).
Was zur Hölle hat das mit einem Linux-Binary in einem xterm zu tun? Du
faselst ein zusammenhangloses Zeug daher, das ist einfach nicht mehr
feierlich.
> Willst Du den Begriff 'Portabilität' auf *ein* BS fokussieren?
Albern. Du hast groups.google.com offenbar noch nicht konsultiert. Wieso
postest Du so selbstgewiß in einer Newsgroup, die Du gar nicht kennst?
> Willst Du behaupten, daß jegliche Software, die *nicht*
> OpenSource ist, automatisch kommerziell
Ja.
> und proprietär ist?!
Hängt von der Beziehung zu offenen Standards wie denen der POSIX-Reihe
ab. »::« für expr ist ... ja, das hatten wir schon.
> Ist Netscape kommerziell?
Selbstverständlich.
> In der EDV-Welt ist eine Software proprietär, wenn sie eine
> ganz eigenwillige Firmen-Lösung darstellt, die mit nichts kompatibel
> ist und sich nicht an (DeFakto-)Standards hält
Mit anderen Worten, »::« für expr.
> und zudem ausschließlich gegen (viel) Geld abgegeben wird.
> Solche Software wird allgemein mit 'proprietär' beschimpft.
> Das trifft auf 'bsh' jedoch nicht zu.
Aber ja doch. Wer ist denn derart braindamaged, Deine eben doch
beschränkte Klitschensoftware zu benutzen, wenn er eine ksh93 oder
bash für $0.00 mit Quellen und ohne jegliche Laufzeitbeschränkungen
(angefangen bei diesem dämlichen Disclaimer) haben kann?
>> >> · Du setzt Dich in die Nesseln, weil Dein expr bei »::« den zweiten
>> >> String als regular expression auffasst und deshalb z.B. ein Punkt
>> >> in $BINDIR einen String matcht, den er in diesem Kontext nicht
>> >> matchen sollte.
>> >
>> > Das gleiche trifft auch auf 'grep' zu.
>>
>> Ach so, Du wolltest also die Fehler des Originalpostings duplizieren,
>> lediglich mit erhöhter Geschwindigkeit? Interessanter Ansatz.
>
> Erstens haben fast alle Antworter das so fortgeführt.
Ja, fast. Du hast eben zu den Verlierern gehört. Daß das mehrere
waren, macht die Sache für Dich nicht besser.
> Zweitens müßten idealerweise *alle* Zeichen berücksichtigt
> werden, die in einem RE speziell sind - nicht nur der '.',
> der zudem sogar ziemlich unproblematisch ist.
Variablenauswertungen in einem case-Konstrukt haben dieses Problem von
vornherein nicht. Wie war das mit Eleganz?
> Drittens programmiert man oft *bewußt* unter der Annahme,
> daß Dateinamen unter Unix nur # + - (~) als besondere Zeichen
> enthalten, weil das die Lösungen *beträchtlich* einfacher macht.
ROTFL. Wenn Du hier ein bißchen mitliest, kannst Du von den Regulars in
dieser Newsgroup noch viel, viel lernen.
Wenn Du ernsthaft der Ansicht bist, daß Du noch einen Ruf hättest,
den es sich zu retten lohnte, solltest Du Deine Selbstdemontage
jetzt beenden.
Grüße,
Gunnar
hmm, die Betrachtung der Portabilitaet bei schells beschraenkt sich
IMO meist auf folgende einfache punkte: (von 'Schichten' nichts zu sehen)
- POSIX konformitaet (diverse POSIX versionen)
Kompatibilitaet zu folgenden Standard Unix Shells:
- BOURNE shell (sh)
- Korn shell (ksh87, ksh93)
- C shell (csh), aber die ist eh nur als interaktive shell interessant.
in den linux-gruppen meist die GNU bourne again shell (bash) und
die zsh.
>> >> · Deine »bsh« ist kommerziell, Du verlangst Geld für die Vollversion.
>> >
>> > Nein, bsh ist nicht kommerziell.
>> > Es gibt seit Jahren viele Versionen für diverse Plattformen
>> > zum kostenlosen Download ohne eingebautes Zeitlimit.
>>
>> Haha, ohne Zeitlimit! Lächerlich. Ein Tool, das beim Start einen
>> elfzeiligen Lizenz-Disclaimer ausspuckt, mit Zeichen aus einer
>> DOS-Codepage auf einem Linux-xterm! Wo sind die Quellen, damit
>> ich diesen Unsinn ausschalten kann? Ach, gibt's nicht? Komisch.
>> Und ich dachte schon kurz, es sei nicht kommerziell.
>
>Hat es ein Zeitlimit? -- Nein.
Wow, andere shells haben optionale zeitlimits, man ulimit ;)
>Es gibt Shareware, PublicDomain, FreeLicence, CharityWare, GNU, ...
Bloedsinn. Es gibt Komerzielle und Nichtkomerzielle Ware, und es
gibt Closed-Source und es gibt Opensource Ware. [1] [2]
In welche der jeweils beiden kategorieren deine Software faellt,
duerftest du selbst in der Lage sein, zu beurteilen.
>bsh ist eben Shareware mit individueller FreeLizenz.
>Bei Shareware sind solche Starttexte Pflicht.
Pflicht ist gar nichts. Niemand ist zu irgendettwas verpflichtet,
jede gegenteilige aussage ist reine Propaganda.
>Und die von Dir genannte DOS-Codepage ist in Wahrheit
>der IBM-PC8-Ur-Zeichensatz, der im Character-ROM eines jeden
>PCs steckt.
Dumm nur, das er dort bei modernen betriebssystemen vor sich
hin gammelt, und schon vor weit ueber einem viertel jahrhundert von einem
Standardzeichensatz verdraengt wurde. Diesen Zeichensatz nennt
man uebrigens ASCII.
>Bei FreeBSD ist es der Standard-Zeichensatz (im Zeichenmodus).
Uh, auf meinem letzten xterm unter OpenBSD (im zeichenmodus, nicht im
TEKtronix graphic mode) war's der ISO-8859-1 ASCII zeichensatz.
zugegeben, ist kein freeBSD, aber ich glaub kaum, das das dort
anders ist.
>> > Und bsh wurde auch schon tausende Male kostenlos runtergeladen.
>>
>> Ja, der Internet Explorer auch. Meinst Du wirklich, daß Du mit
>> diesem naiven Verständnis von Kommerzialität in einer Newsgroup
>> voller Linuxer auf Anerkennung stoßen wirst? Vielleicht solltest
>> Du Deine Zielgruppe ein bißchen besser erforschen.
>
>Heißt diese NG ...linux.shell ?
nein, .unix.shell - und damit waeren wir vollkommen OnT.
>Willst Du den Begriff 'Portabilität' auf *ein* BS fokussieren?
>Willst Du behaupten, daß jegliche Software, die *nicht*
>OpenSource ist, automatisch kommerziell und proprietär ist?!
So, jetzt mal langsam zum Mitmeisseln:
_Jede_ Software, die nicht Open-Source (also Closed-Source) ist,
ist _Proprietaer_. [per definition]
>Ist Netscape kommerziell?
Die Firma: Ja.
Die Software: Ja. (frag doch mal bei AOL nach der Preisliste
fuer Netscape !)
>In der EDV-Welt ist eine Software proprietär, wenn sie eine
>ganz eigenwillige Firmen-Lösung darstellt, die mit nichts kompatibel
>ist und sich nicht an (DeFakto-)Standards hält
>und zudem ausschließlich gegen (viel) Geld abgegeben wird.
Und solange der Sourcecode nicht veroeffentlicht wird und ein
Lizenzmodell, das die Benutzung dieses Codes fuer die Unabhaengige
Implementation dieser Loesungen erlaubt. Dann verliert sie
naemlich automatisch ihren status als Proprietaer.
Wie sowas in der Praxis aussieht, kannst du zum beispiel bei
der Software von Sun Microsystems Inc. sehen:
- YP (NIS)
- NFS
- RPC
- NIS+
>Solche Software wird allgemein mit 'proprietär' beschimpft.
>Das trifft auf 'bsh' jedoch nicht zu.
bsh ist Proprietaere Software. Zudem existiert sie noch in einer
erweiterten, komerziellen Form.
>> > Wenn ich angegeben hätte:
>> > "Helmut Schellong: Autor der Shell 'bsh'"
>>
>> Das weiß man doch sowieso. Wer es noch nicht wußte, weiß es jetzt.
>
>Im wesentlichen durch Deinen ersten Kritik-Beitrag. :-)
Hier lesen auch Intelligente Mitmenschen.
>Meine Internet-Anschriften hatte und habe ich grundsätzlich
>in der Sig, ganz unabhängig vom Inhalt der Seiten.
>Und -- nicht nur ich!
Gegen deine signatur habe ich nichts. (sie ist korrekt abgetrennt,
und damit ist es _mir_ scheiss egal, was da drin steht, solange es
in 70 zeichen in 4 zeilen passt.)
>> >> · <9ita88$pvn$1...@kemoauc.mips.inka.de> ist eleganter, da voll portabel.
>> >
>> > Ich leite 'eleganter' nicht von 'voll portabel' ab...
>> > Das sehe ich also anders.
>>
>> Das dürfte kaum verwundern, da Du ja der Hersteller einer proprietären
>> Kommerz-Shell bist und Dich sonst selbst demontieren würdest.
>
>Nein, man kann z.B. eine Script-Lösung auch als 'elegant' bezeichnen,
>wenn sie ohne irgendeine externe Exe auskommt.
>Oder ... oder ... oder ...
Man kann auch Windows als "elegant" bezeichnen, wenn man auf
undeterministisches Fehlverhalten und lange Downtime steht.
>> > Andere vielleicht auch.
>>
>> Die meisten Loser dieser Art haben wir hier längst gesteinigt.
>
>Hmm, eine verstockte, intolerante NG soll das hier sein?
Klar, warum sonst konntest du dich hier sofort wohlfuehlen ;)
>
[snip, da gibt es nicht viel zu meckern ;-]
>
begin footnotes:
[1] Komerzielle Ware ist alles, wofuer der Author/Distributor ettwas als
gegenleistung verlangt. (sei es geld, ein geschenkt, ne postkarte, eine
email-addresse von dir oder eine spende an dritte).
Nicht-Komerzielle Ware ist alles, was ohne gegenleistung kommt.
[2] Opensource ist alles, wo der Source frei und oeffentlich verfuegbar
ist, und nicht durch NDA's oder sonstwelche lizenzknebeln beschraenkt
ist. Closesource ist alles andere.
end
Juergen
--
J...@lrz.fh-muenchen.de - "This World is about to be Destroyed!"
Helmut Schellong <sche...@t-online.de> wrote:
> Portabilität und Proprietär sind zwei verschiedene Dinge.
ohne Frage ...
> Portabilität bei Shells muß man vielschichtig betrachten.
Nun, so viele Schichten gibt es da nicht. Die Ueberlegun sieht normalerweise
eher so aus: Ist dieses Feature auf jedem System mit dem ich zu tun habe
(und moeglicherweise zu tun haben werde) in mindestens einer shell verfueg-
bar? Wenn ja, dann fuer mich hinreichend portabel, wenn nein, dann unportabel
(ode rzumindest deutlich weniger portabel) was in manchen Faellen akzeptabel
sein kann (ich versuche allerdings solche unportablen Singe zu vermeiden,
solange sie nicht zu einer SEHR DEUTLICHEN Veringerung des Aufwands fuehren).
Da das (deutliche Verringerung des Aufwands) bei deinem Beispiel nicht
unbedingt gegeben war und zusaetzlich die bsh auf keinem von mir adminis-
trierten System verfuegbar ist, faellt mir die Entscheidung leicht, ob
ich ein solches Feature verwenden wuerde ...
> Hat es ein Zeitlimit? -- Nein.
> Es gibt Shareware, PublicDomain, FreeLicence, CharityWare, GNU, ...
> bsh ist eben Shareware mit individueller FreeLizenz.
Shareware IST kommerzielle Software.
> Bei Shareware sind solche Starttexte Pflicht.
s/Pflicht/ueblich als Anreiz fuer ein Registrierung/
> Und die von Dir genannte DOS-Codepage ist in Wahrheit
> der IBM-PC8-Ur-Zeichensatz, der im Character-ROM eines jeden
> PCs steckt.
... und nicht ueberall verfuegbar ist ...
> Bei FreeBSD ist es der Standard-Zeichensatz (im Zeichenmodus).
Das waere mir voellig egal, aber jeder wie er mag (ich mag keine
verunstalteten Textausgaben, weil man sich auf die Unterstuetzung
nur eines, ausserhalb der PC-Welt eher ungebraeuchlichen, Zeichen-
satzes beschraenkt).
>> Ja, der Internet Explorer auch. Meinst Du wirklich, daß Du mit
>> diesem naiven Verständnis von Kommerzialität in einer Newsgroup
>> voller Linuxer auf Anerkennung stoßen wirst? Vielleicht solltest
>> Du Deine Zielgruppe ein bißchen besser erforschen.
> Heißt diese NG ...linux.shell ?
Nein. Du wirst hier wegen deiner bsh-spezifischen Tips (abgesehen von
den Sticheleien gegen kommerzielle Software) aus genau den selben Gruen-
den angepflaumt, wie vor einiger Zeit jemand, der die scsh als Standard
praesentieren wollte: Diese shells sind schlicht kein Standard, und wenn
man spezifische Tips dazu gibt, sollte man SEHR DEUTLICH dazu sagen, dass
diese Tipe eben unportabel sind.
> Willst Du den Begriff 'Portabilität' auf *ein* BS fokussieren?
Nein. Kann ich die bsh auch fuer True64 unix bekommen?
Oder fuer Linux auf Dec Alpha? Oder fuer Ultrix? Oder
fuer interactive unix 3.2? Oder AIX auf einer RS6000?
Nun, die meisten anderen hier erwaehnten shells bekomme ich problemlos
auch fuer diese Systeme (auf Ultrix, Interactive unix, AIX3.2.5, ... habe
ich die bash schon selbst uebersetzt, fuer True64 Unix, Linux auf Dec Alpha
und diverse andere Systeme habe ich sie schon gesehen, desgleichen IIRC
pdksh, und zsh).
> Willst Du behaupten, daß jegliche Software, die *nicht*
> OpenSource ist, automatisch kommerziell und proprietär ist?!
Nein, nicht unbedingt.
> Ist Netscape kommerziell?
Ja.
> In der EDV-Welt ist eine Software proprietär, wenn sie eine
> ganz eigenwillige Firmen-Lösung darstellt, die mit nichts kompatibel
> ist und sich nicht an (DeFakto-)Standards hält
> und zudem ausschließlich gegen (viel) Geld abgegeben wird.
Eine IMHO eher eigenwillige Definition von proprietaer, aber wen du meinst.
> Solche Software wird allgemein mit 'proprietär' beschimpft.
> Das trifft auf 'bsh' jedoch nicht zu.
Ansichtssache.
>> >> · Du setzt Dich in die Nesseln, weil Dein expr bei »::« den zweiten
>> >> String als regular expression auffasst und deshalb z.B. ein Punkt
>> >> in $BINDIR einen String matcht, den er in diesem Kontext nicht
>> >> matchen sollte.
>> > Das gleiche trifft auch auf 'grep' zu.
Das laesst sich durch Verwendung von fgrep anstelle von grep leicht
korrigieren. Wie korrigierst du das bei deiner bsh-Loesung (nein, ich
weiss nicht, ob das geht, ich benutze die bsh nicht)?
>> Eben nicht. Korrekter Code müßte zwei Textstrings matchen.
> Eben doch.
> Der OP hatte ausdrücklich 'Performance' als sein *einziges*
> Problem genannt!
Also gut. Hast du die "portable" Loesung ohne (f)grep mal geschwindigkeits-
maessig gegen deine bsh-Loesung getestet? Was hast du heraus bekommen?
> Der OP hatte ausdrücklich 'Performance' als sein *einziges*
> Problem genannt!
Gut, dann setze ich mal weitere Randbedingungen:
(1) Die Lösung muss für HP-UX 11.00 verfügbar sein.
(2) Die Lösung soll nichts kosten.
> Mit freundlichen Grüßen
> Helmut Schellong
.. Robert
> #!/usr/bin/bsh
In Anbetracht der lustigen Diskussion, die in Folge entstanden ist,
kann ich mir nicht verkneifen anzumerken, dass ich obige Zeile als
AIX-spezifisch interpretiert und den Rest nicht weiter betrachtet
habe.
Ein paar interne Ressourcen sind reduziert.
> Tatsache ist zumindest, dass (obwohl mir das nicht sonderlich gefaellt)
> die bash die "Standard-shell" fuer eine ganze Reihe von Systemen ist,
> die bsh ist auf KEINEM System wirklich Standard (sondern ueberall nur
> optionale Zusatzsoftware). Demnach ist es IMHO nicht verwerflich, AUCH
> auf ein Feature der bsh hinzuweisen, dann aber (wiederum IMHO) NUR, wenn
> man EXPLIZIT erwaehnt, dass es sich um ein ausschliesslich in der bsh
> (die keinem System per Default beiliegt) verfuegbares Feature handelt
> und das portable Loesungen anders aussehen muessten.
Genau das tat ich.
Ich schrieb, daß 'expr (... ::)' bsh-intern ist.
Es ist übrigens kein Problem, das auf das normale expr
abzuwandeln.
Dann würde aber wieder die Performance leiden.
> >> · <9ita88$pvn$1...@kemoauc.mips.inka.de> ist eleganter, da voll portabel.
> > Ich leite 'eleganter' nicht von 'voll portabel' ab...
> > Das sehe ich also anders.
> > Andere vielleicht auch.
>
> Wer auf verschiedenen (verschiedensten?) Systemen unterwegs ist, wird
> dem Thema "Portabilitaet" moeglicherweise etwas mehr Bedeutung beimessen
> als du. Ich halte es fuer einen Fehler sich auf solche Features zu *ver-
> lassen* (egal ob :: im Zusammenhang mit expr oder $[...]).
Deshalb verwende ich auch bsh, weil die mit ihren 100 internen
Kommandos überall gleich ist.
1.) BS-Schicht:
Auf welchen und wievielen Systemen kann ein bestimmtes
Script laufen?
Dabei sind anzahlmäßig kaum verbreitete Systeme
naturgemäß weniger wichtig.
2.) Unix-Schicht:
Ist das Script für sh/csh/ksh, also eine der Unix-Std-Shells?
3.) Shell-Linie-Schicht:
Ist für eine Shell aus der Bourne-Familie?
Ist für eine Shell aus der csh-Familie?
4.) Optional-Shell-Schicht:
Ist das Script für eine Shell, die nicht unbedingt
von vornherein vorhanden ist (bash,zsh,tcsh,bsh) ?.
Wodurch ein Script durchaus besonders effizient und
performant und elegant sein kann, wenn auch nicht
maximal portabel.
> Da das (deutliche Verringerung des Aufwands) bei deinem Beispiel nicht
> unbedingt gegeben war und zusaetzlich die bsh auf keinem von mir adminis-
> trierten System verfuegbar ist, faellt mir die Entscheidung leicht, ob
> ich ein solches Feature verwenden wuerde ...
Welche BS denn?
> > Hat es ein Zeitlimit? -- Nein.
> > Es gibt Shareware, PublicDomain, FreeLicence, CharityWare, GNU, ...
> > bsh ist eben Shareware mit individueller FreeLizenz.
>
> Shareware IST kommerzielle Software.
Zwischen kostenloser Shareware und beispielsweise
einem Programm wie Dreamweaver, welches NUR gegen 600..1500 DM
zu erhalten ist, sehe ich in diesem Zusammenhang doch
erhebliche prinzipielle Unterschiede!
Man kann das nicht einfach gleichschalten.
> > Bei Shareware sind solche Starttexte Pflicht.
>
> s/Pflicht/ueblich als Anreiz fuer ein Registrierung/
Ganz am Anfang wurde bsh von PEARL als Shareware vertrieben.
Dort war das Pflicht. Andernfalls wurde ein Prog abgelehnt.
> > Und die von Dir genannte DOS-Codepage ist in Wahrheit
> > der IBM-PC8-Ur-Zeichensatz, der im Character-ROM eines jeden
> > PCs steckt.
>
> ... und nicht ueberall verfuegbar ist ...
Auf ALLEN PCs...
> >> diesem naiven Verständnis von Kommerzialität in einer Newsgroup
> >> voller Linuxer auf Anerkennung stoßen wirst? Vielleicht solltest
> >> Du Deine Zielgruppe ein bißchen besser erforschen.
> > Heißt diese NG ...linux.shell ?
>
> Nein. Du wirst hier wegen deiner bsh-spezifischen Tips (abgesehen von
> den Sticheleien gegen kommerzielle Software) aus genau den selben Gruen-
> den angepflaumt, wie vor einiger Zeit jemand, der die scsh als Standard
> praesentieren wollte: Diese shells sind schlicht kein Standard, und wenn
> man spezifische Tips dazu gibt, sollte man SEHR DEUTLICH dazu sagen, dass
> diese Tipe eben unportabel sind.
Das tat ich, zwar nicht unbedingt SEHR DEUTLICH - aber ich tat es.
Ich habe bsh hier in keiner Weise als Std. hingestellt.
Ja ich habe sie sogar gar nicht 'auffällig' herausgehoben.
bsh-Tips enthalten aber in hohem Grade Portabilität!
Das, was nicht portabel ist, ist sehr geringfügig.
bsh kann als optionale Shell durchaus sehr nützlich sein
und andere Lösungen sehr weit übertreffen in vielen Hinsichten.
Man muß eben abwägen und den richtigen Kompromiß finden.
> > Willst Du den Begriff 'Portabilität' auf *ein* BS fokussieren?
>
> Nein. Kann ich die bsh auch fuer True64 unix bekommen?
> Oder fuer Linux auf Dec Alpha? Oder fuer Ultrix? Oder
> fuer interactive unix 3.2? Oder AIX auf einer RS6000?
Welche Rolle spielen genau diese Systeme im Vergleich?
Als Vollversion kann man bsh letztlich für jedes BS
bekommen, auch für Embedded DOS.
> > Ist Netscape kommerziell?
>
> Ja.
Sehe ich auch so.
Aber, dennoch ist da ein Unterschied zu IE.
> >> >> · Du setzt Dich in die Nesseln, weil Dein expr bei »::« den zweiten
> >> >> String als regular expression auffasst und deshalb z.B. ein Punkt
> >> >> in $BINDIR einen String matcht, den er in diesem Kontext nicht
> >> >> matchen sollte.
> >> > Das gleiche trifft auch auf 'grep' zu.
>
> Das laesst sich durch Verwendung von fgrep anstelle von grep leicht
> korrigieren. Wie korrigierst du das bei deiner bsh-Loesung (nein, ich
> weiss nicht, ob das geht, ich benutze die bsh nicht)?
Z.B. so: [ "$VAR" == xyz ] &&
[[ "$VAR" == *xy?z[a-f] ]] &&
cmpv [-i] var1 var2 &&
...
> >> Eben nicht. Korrekter Code müßte zwei Textstrings matchen.
> > Eben doch.
> > Der OP hatte ausdrücklich 'Performance' als sein *einziges*
> > Problem genannt!
>
> Also gut. Hast du die "portable" Loesung ohne (f)grep mal geschwindigkeits-
> maessig gegen deine bsh-Loesung getestet? Was hast du heraus bekommen?
Die bsh an sich ist schon mal bis zu 400-fach schneller
als andere Shells...
IBM-PC8 enthält ASCII, unter DOS nennt man IBM-PC8 'Codepage 437'.
> >Bei FreeBSD ist es der Standard-Zeichensatz (im Zeichenmodus).
>
> Uh, auf meinem letzten xterm unter OpenBSD (im zeichenmodus, nicht im
> TEKtronix graphic mode) war's der ISO-8859-1 ASCII zeichensatz.
> zugegeben, ist kein freeBSD, aber ich glaub kaum, das das dort
> anders ist.
Es ist anders.
Unter FreeBSD werden die graphischen Zeichen des PC8
vielfältig verwendet.
> begin footnotes:
> [1] Komerzielle Ware ist alles, wofuer der Author/Distributor ettwas als
> gegenleistung verlangt. (sei es geld, ein geschenkt, ne postkarte, eine
> email-addresse von dir oder eine spende an dritte).
> Nicht-Komerzielle Ware ist alles, was ohne gegenleistung kommt.
> [2] Opensource ist alles, wo der Source frei und oeffentlich verfuegbar
> ist, und nicht durch NDA's oder sonstwelche lizenzknebeln beschraenkt
> ist. Closesource ist alles andere.
> end
Na ja, demnach ist bsh nichtkommerziell.
Oder verlange ich eine Gegenleistung von
den Downloadern?
> Deshalb verwende ich auch bsh, weil die mit ihren 100 internen
> Kommandos überall gleich ist.
naddy@uugrn[~] man bsh
...
bsh Command
Purpose
The bsh command invokes the Bourne shell.
...
naddy@uugrn[~] uname -a
AIX uugrn 3 4 00852633C000
Schnudel, schnudel, schnudel, paaauuuhhh ... :-)
[X] Du sollst dein 3-Jaehriges kind nicht an deinen PC lassen!
SCNR, fup2 dag
Wusste ichs doch, shareware-programmierer muessen echt Krank im Kopf sein.
Kann ihm nicht mal wer ne Psychotherapie spendieren ?
oder wenigstens eine Merkbefreiung ausstellen.
Welchen teil von "unix" in de.comp.os.unix.shell hast du nicht verstanden?
>> >Bei FreeBSD ist es der Standard-Zeichensatz (im Zeichenmodus).
>>
>> Uh, auf meinem letzten xterm unter OpenBSD (im zeichenmodus, nicht im
>> TEKtronix graphic mode) war's der ISO-8859-1 ASCII zeichensatz.
>> zugegeben, ist kein freeBSD, aber ich glaub kaum, das das dort
>> anders ist.
>
>Es ist anders.
>Unter FreeBSD werden die graphischen Zeichen des PC8
>vielfältig verwendet.
In xterms? wenn ich mich per ssh auf eine bsd-kiste einlogge?
>> begin footnotes:
>> [1] Komerzielle Ware ist alles, wofuer der Author/Distributor ettwas als
>> gegenleistung verlangt. (sei es geld, ein geschenkt, ne postkarte, eine
>> email-addresse von dir oder eine spende an dritte).
>> Nicht-Komerzielle Ware ist alles, was ohne gegenleistung kommt.
>> [2] Opensource ist alles, wo der Source frei und oeffentlich verfuegbar
>> ist, und nicht durch NDA's oder sonstwelche lizenzknebeln beschraenkt
>> ist. Closesource ist alles andere.
>> end
>
>Na ja, demnach ist bsh nichtkommerziell.
>Oder verlange ich eine Gegenleistung von
>den Downloadern?
bsh kostet nach deiner preisliste 135.- DM.
Jeder versuch meinerseits, auf die Linux, SCO oder FreeBSD seite unter
der "kostenlose version" seite (http://www.schellong.com/de/index.htm) zu
gelangen quitiert mir dein server mit einem nicht-RFC conformen ERROR-gif.
(du hast die lizenzgebuehr an den Patentinhaber von GIF bezahlt ?)
Anstelle eines 404 oder sonstwelchen HTTP conformen Fehlercode.
Mangels verfuegbarkeit der Kostenlosen version auf deiner Webpage kann ich
also nur auf die Kostenpflichtige version eingehen:
bsh ist Komerziell, sie erfuellt:
[x] der benutzer muss geld bezahlen.
[x] der benutzer muss Persoenliche Informationen preisgeben (email/addresse)
(oder ist deine bsh auch im computerbuecherladen um die ecke erhaeltlich?)
ich hoffe diese punkte aufgeklaert zu haben.
Wenn du deinen Webserver wieder repariert hast, lass es mich wissen, dann
versuche ich es nochmal, sobald der eintrag fuer diesen ERROR-gif frame aus
meinem Cache expired ist.
cheers,
> PATH=`echo "$PATH" | sed -e 's+//*+/+g
> s+/:+:+g
> s+/$++'` export PATH
[...]
> Hoffentlich war es das jetzt; sieht jemand noch eins?
Jupp, in der Praxis zwar irrelevant, aber für eine allgemeine Lösung
sollte man noch an folgende Spezialfälle denken:
PATH=/usr/./bin
PATH=/usr/../usr/bin
PATH=/../bin
Die sind noch relativ einfach zu beheben:
s,/\./\(\./\)*,/,g
s,/[^/]*/../,/,g #2
s,^/\.\./,/,
Aber hier wird's mit sed schwierig, es sei denn, man wendet #2 in
einer Schleife an, bis kein Textersatz mehr stattfindet:
PATH=/usr/local/../../usr/local
Das würde ich vermutlich eher mit Perl angehen ;-)
bye,
Matthias
Geh einfach nach #debian und diskutier das Thema da weiter... Zur
Vorbereitung empfehle ich http://www.debian.org/social_contract#guidelines
Joerg
--
Freier Platz fuer Bearbeitungsvermerke, bitte nicht beschriften.
> bsh kostet nach deiner preisliste 135.- DM.
>
> Jeder versuch meinerseits, auf die Linux, SCO oder FreeBSD seite unter
> der "kostenlose version" seite (http://www.schellong.com/de/index.htm) zu
> gelangen quitiert mir dein server mit einem nicht-RFC conformen ERROR-gif.
Und wenn schon, mehr als ein Werbegeschenk wäre sie sowieso nicht.
Grüße,
Gunnar
Diese Frage verstehe ich nicht.
> >> zugegeben, ist kein freeBSD, aber ich glaub kaum, das das dort
> >> anders ist.
> >
> >Es ist anders.
> >Unter FreeBSD werden die graphischen Zeichen des PC8
> >vielfältig verwendet.
>
> In xterms? wenn ich mich per ssh auf eine bsd-kiste einlogge?
Aber nein, überall im Textmodus.
> >> begin footnotes:
> >> [1] Komerzielle Ware ist alles, wofuer der Author/Distributor ettwas als
> >> gegenleistung verlangt. (sei es geld, ein geschenkt, ne postkarte, eine
> >> email-addresse von dir oder eine spende an dritte).
> >> Nicht-Komerzielle Ware ist alles, was ohne gegenleistung kommt.
> >> [2] Opensource ist alles, wo der Source frei und oeffentlich verfuegbar
> >> ist, und nicht durch NDA's oder sonstwelche lizenzknebeln beschraenkt
> >> ist. Closesource ist alles andere.
> >> end
> >
> >Na ja, demnach ist bsh nichtkommerziell.
> >Oder verlange ich eine Gegenleistung von
> >den Downloadern?
>
> bsh kostet nach deiner preisliste 135.- DM.
Ja, die kostenpflichtige VV.
> Jeder versuch meinerseits, auf die Linux, SCO oder FreeBSD seite unter
> der "kostenlose version" seite (http://www.schellong.com/de/index.htm) zu
> gelangen quitiert mir dein server mit einem nicht-RFC conformen ERROR-gif.
> (du hast die lizenzgebuehr an den Patentinhaber von GIF bezahlt ?)
> Anstelle eines 404 oder sonstwelchen HTTP conformen Fehlercode.
>
> Mangels verfuegbarkeit der Kostenlosen version auf deiner Webpage kann ich
> also nur auf die Kostenpflichtige version eingehen:
>
> bsh ist Komerziell, sie erfuellt:
> [x] der benutzer muss geld bezahlen.
> [x] der benutzer muss Persoenliche Informationen preisgeben (email/addresse)
> (oder ist deine bsh auch im computerbuecherladen um die ecke erhaeltlich?)
>
> ich hoffe diese punkte aufgeklaert zu haben.
>
> Wenn du deinen Webserver wieder repariert hast, lass es mich wissen, dann
> versuche ich es nochmal, sobald der eintrag fuer diesen ERROR-gif frame aus
> meinem Cache expired ist.
Wegen des WebServers mußt Du Dich an Schlund+Partner wenden.
Alle Downloads von schellong.de/index.htm funktionierten und
funktionieren auch heute stets einwandfrei.
Ich weiß nicht, was Du da für Probleme hast.
Meine heutige Statistik:
=================================================================
------------------------------------------------------------------------
********** CGI-Scripting by bsh_linux_cgi script interpreter *********
------------------------------------------------------------------------
Tuesday, 17. July 2001 16:04:22 CETDST KW29 TJ198
------------------------------------------------------------------------
Zähler noch INFINITE Tage gültig.
------------------------------------------------------------------------
0: Seit 22.Mär.1998 >0: Seit 18.Aug.2000
------------------------------------------------------------------------
0: 64775 www.schellong.com/indexf.htm
1: 2002 www.schellong.com/indexf.htm
2: 9486 www.schellong.com/de/
3: 93 www.schellong.com/produkte.htm
4: 151 www.schellong.com/recover.htm
5: 696 www.schellong.de/190.htm
6: 1250 www.schellong.de/atxcool.htm
7: 1594 www.schellong.de/bshbeisp.htm
8: 9881 www.schellong.de/c.htm
9: 1234 www.schellong.de/cc.htm
10: 456 www.schellong.de/cksum.htm
11: 886 www.schellong.de/cmd.htm
12: 1401 www.schellong.de/fan.htm
13: 861 www.schellong.de/hinw.htm
14: 500 www.schellong.de/htm/ansi.htm
15: 820 www.schellong.de/htm/bshmnk.htm
16: 131 www.schellong.de/htm/istepbsh.htm
17: 81 www.schellong.de/htm/rgb.htm
18: 1054 www.schellong.de/kurz.htm
19: 219 www.schellong.de/lim/compilo.htm
20: 272 www.schellong.de/lim/lim.htm
21: 101 www.schellong.de/lizenz.htm
22: 243 www.schellong.de/mailcode.htm
23: 540 www.schellong.de/old/delsafe.htm
25: 970 www.schellong.de/old/hpinfo.htm
26: 480 www.schellong.de/old/olinfo.htm
28: 837 www.schellong.de/overclk.htm
29: 629 www.schellong.de/pent.htm
30: 2240 www.schellong.de/scoos.htm
31: 2418 www.schellong.de/syntax.htm
32: 947 www.schellong.de/win.htm
35: 453 www.schellong.de/scouw.htm
36: 10 www.schellong.com/de/dlhinw.htm
37: 599 www.schellong.de/benzin.htm
38: 555 www.schellong.com/de/icnt.htm
100: 12 www.schellong.com/::../../bsh/proto.bsh
101: 5 www.schellong.com/::../../bsh/segm.bsh
102: 6 www.schellong.com/::../../bsh/stack.bsh
103: 5 www.schellong.com/::../../bsh/chprint.bsh
104: 5 www.schellong.com/::../../bsh/var.bsh
105: 3 www.schellong.com/::../../bsh/sed.bsh
106: 3 www.schellong.com/::../../bsh/inc.bsh
107: 3 www.schellong.com/::../../bsh/inch.bsh
108: 4 www.schellong.com/::../../bsh/inc3.bsh
110: 86 www.schellong.de/bshbeisp.htm::../bsh/emailadr.bsh
111: 46 www.schellong.de/bshbeisp.htm::../bsh/emailbox.bsh
112: 73 www.schellong.de/bshbeisp.htm#scripts::../bsh/hpm.bsh
113: 32 www.schellong.de/bshbeisp.htm::../bsh/urls.bsh
114: 22 www.schellong.de/bshbeisp.htm::../bsh/colors.bsh
115: 31 www.schellong.de/bshbeisp.htm::../bsh/h2t.bsh
116: 26 www.schellong.de/bshbeisp.htm#script_bsatz::../bsh/bsatz.bsh
117: 21 www.schellong.de/bshbeisp.htm::../bsh/istep.bsh
118: 16 www.schellong.de/bshbeisp.htm::../txt/istep.txt
119: 58 www.schellong.de/bshbeisp.htm#script_conv::../bsh/conv.bsh
120: 83 www.schellong.de/c.htm#ansilib::../lim/lim.h
121: 201 www.schellong.de/cksum.htm::../bin/cksum.exe
122: 221 www.schellong.de/cksum.htm::../txt/cksum.txt
123: 137 www.schellong.de/cmd.htm::../bin/cmp.exe
124: 63 www.schellong.de/cmd.htm::../bin/calci.exe
125: 162 www.schellong.de/cmd.htm::../bin/dd.exe
126: 58 www.schellong.de/cmd.htm::../bin/xcall.exe
127: 54 www.schellong.de/cmd.htm::../txt/checksum.txt
128: 119 www.schellong.de/cmd.htm::../txt/dd.txt
129: 57 www.schellong.de/cmd.htm::../txt/xcall.txt
130: 142 www.schellong.de/::../bin/bsh_sco.bin
131: 113 www.schellong.de/index.htm::../bin/bsh_freebsd.bin
132: 181 www.schellong.com/de/::../bin/bsh_lx.bin
133: 253 www.schellong.de/::../bin/manw.zip
134: 60 www.schellong.de/index.htm::../txt/version.txt
135: 19 www.schellong.com/de/index.htm#hpdwnld::../txt/checksum.txt
136: 75 www.schellong.de/cgi/get.cgi?0.136:..%2fbin%2fcybercom.drv::../bin/cybercom.drv
137: 155 www.schellong.de/::../txt/c9x.txt
138: 69 www.schellong.de/index.htm::../bin/dw.tar.Z
139: 33 www.schellong.de/cgi/get.cgi?0.139:..%2fbin%2fdw_bsd.tar.gz::../bin/dw_bsd.tar.gz
140: 15 www.schellong.de/index.htm::../txt/checksum.txt
141: 769 www.schellong.de/::../bin/bsh321.zip
142: 291 www.schellong.de/index.htm::../bin/bsh.exe
143: 1143 www.schellong.de/index.htm::../bin/bsh32.exe
144: 95 www.schellong.de/::../bin/bsh321.zip
145: 87 www.schellong.de/mailcode.htm::../bin/mailcode.exe
146: 85 www.schellong.de/mailcode.htm::../txt/mailcode.txt
147: 72 www.schellong.de/cgi/get.cgi?0.147:..%2flim%2flim.h::../lim/lim.h
148: 72 www.schellong.de/cgi/get.cgi?0.148:..%2flim%2flim.cpp::../lim/lim.cpp
149: 37 www.schellong.com/de/lim/compilo.htm::../lim/compilo.obj
150: 27 www.schellong.de/lim/compilo.htm::../lim/co_386.obj
153: 24 www.schellong.de/lim/compilo.htm::../txt/co_test.txt
155: 33 www.schellong.de/cgi/get.cgi?0.155:..%2fbin%2fdw_uw.tar.Z::../bin/dw_uw.tar.Z
156: 60 www.schellong.de/::../bin/bsh64_uw.bin
157: 130 www.schellong.de/::../bin/bsh64.exe
------------------------------------------------------------------------
16.05.2001: 208
17.05.2001: 233
18.05.2001: 193
19.05.2001: 89
20.05.2001: 148
21.05.2001: 164
22.05.2001: 201
23.05.2001: 191
24.05.2001: 104
25.05.2001: 108
26.05.2001: 92
27.05.2001: 91
28.05.2001: 163
29.05.2001: 226
30.05.2001: 230
31.05.2001: 291
01.06.2001: 197
02.06.2001: 106
03.06.2001: 121
04.06.2001: 132
05.06.2001: 219
06.06.2001: 221
07.06.2001: 231
08.06.2001: 183
09.06.2001: 129
10.06.2001: 205
11.06.2001: 311
12.06.2001: 326
13.06.2001: 192
14.06.2001: 188
15.06.2001: 201
16.06.2001: 134
17.06.2001: 144
18.06.2001: 197
19.06.2001: 2
22.06.2001: 126
23.06.2001: 129
24.06.2001: 120
25.06.2001: 231
26.06.2001: 232
27.06.2001: 222
28.06.2001: 237
29.06.2001: 221
30.06.2001: 128
07.07.2001: 140
08.07.2001: 203
09.07.2001: 224
10.07.2001: 219
11.07.2001: 374
12.07.2001: 232
13.07.2001: 281
14.07.2001: 69
15.07.2001: 150
16.07.2001: 287
17.07.2001: 213
Letzte Zählung: 16:02:26
------------------------------------------------------------------------
Aug 2000: 1066
Sep 2000: 2880
Okt 2000: 3883
Nov 2000: 4361
Dez 2000: 3565
Jan 2001: 4528
Feb 2001: 4812
Mär 2001: 5551
Apr 2001: 5815
Mai 2001: 5716
Jun 2001: 5085
Jul 2001: 2392
------------------------------------------------------------------------
2000: 15755
2001: 33899
------------------------------------------------------------------------
------------------------------------------------------------------------
[...]
------------------------------------------------------------------------
16.07.2001 16:38:03 0.8 212.118.209.97 www.schellong.de/c.htm Moz/4.0(IE5.0;Linux)Opera5.0en
16.07.2001 16:38:16 0.2 62.27.194.89 www.schellong.de/index.htm Moz/4.0(IE5.5;W98)
16.07.2001 16:38:40 0.19 213.69.213.97 www.schellong.de/lim/compilo.htm Moz/4.0(IE5.01;NT5.0)
16.07.2001 16:38:55 0.2 212.8.219.66 www.schellong.de/index.htm Moz/4.0(IE5.0;NT;DigExt)
16.07.2001 16:39:29 0.15 192.35.17.233 www.schellong.de/htm/bshmnk.htm Moz/4.0(IE5.01;NT;DigExt)
16.07.2001 16:40:13 0.8 212.47.17.1 www.schellong.de/c.htm Moz/4.0(IE5.5;W98;MSNATLAS01.CZ)
16.07.2001 16:42:28 0.1 62.158.225.203 www.schellong.com/indexf.htm Moz/4.0(IE5.5;W98;DT)
16.07.2001 16:47:49 0.2 212.185.249.123 www.schellong.de/index.htm#hpdwnld Moz/4.73deC-CCK-MCDQXW0323w(NT;U)
16.07.2001 16:48:37 0.13 212.185.249.124 www.schellong.de/hinw.htm Moz/4.73deC-CCK-MCDQXW0323w(NT;U)
16.07.2001 16:50:03 0.143 212.185.249.119 www.schellong.de/index.htm#hpdwnld::../bin/bsh32.exe Moz/4.73deC-CCK-MCDQXW0323w(NT;U)
16.07.2001 16:50:33 0.11 212.185.249.121 www.schellong.de/cmd.htm Moz/4.73deC-CCK-MCDQXW0323w(NT;U)
16.07.2001 16:51:05 0.18 212.185.249.123 www.schellong.de/kurz.htm Moz/4.73deC-CCK-MCDQXW0323w(NT;U)
16.07.2001 16:53:14 0.2 194.94.31.242 www.schellong.de/ Moz/4.75en(X11;U;FreeBSD4.3-STABLEi386)
16.07.2001 16:57:54 0.5 194.94.31.242 www.schellong.de/190.htm Moz/4.75en(X11;U;FreeBSD4.3-STABLEi386)
16.07.2001 16:58:54 0.31 217.225.191.174 www.schellong.com/de/syntax.htm Moz/4.77de(X11;U;Linux2.2.19i686)
16.07.2001 17:17:20 0.8 213.69.181.50 www.schellong.de/c.htm Moz/4.0(IE5.0;NT)
16.07.2001 17:25:41 0.8 195.7.42.133 www.schellong.de/c.htm Moz/4.0(IE5.5;NT4.0)
16.07.2001 17:27:42 0.2 195.6.54.197 www.schellong.de/ Moz/4.0(IE5.01;NT5.0)
16.07.2001 17:28:01 0.143 195.6.54.197 www.schellong.de/::../bin/bsh32.exe Moz/4.0(IE5.01;NT5.0)
16.07.2001 17:37:07 0.29 62.27.194.89 www.schellong.de/pent.htm Moz/4.0(IE5.5;W98)
16.07.2001 17:42:53 0.30 62.159.128.98 www.schellong.de/scoos.htm Moz/4.0(IE5.01;NT5.0)
16.07.2001 17:47:37 0.30 194.231.86.129 www.schellong.de/scoos.htm Moz/4.7deC-CCK-MCDQXW0322s(NT;I)
16.07.2001 17:50:59 0.2 217.80.122.180 www.schellong.de/ Moz/5.0(X11;U;Linuxi686;en-US;rv:0.9.2+)Gecko/20010714
16.07.2001 17:51:30 0.38 217.80.122.180 www.schellong.de/icnt.htm Moz/5.0(X11;U;Linuxi686;en-US;rv:0.9.2+)Gecko/20010714
16.07.2001 17:52:17 0.132 217.80.122.180 www.schellong.de/#cgi::../bin/bsh_lx.bin Moz/5.0(X11;U;Linuxi686;en-US;rv:0.9.2+)Gecko/20010714
16.07.2001 17:52:51 0.9 217.80.122.180 www.schellong.de/cc.htm Moz/5.0(X11;U;Linuxi686;en-US;rv:0.9.2+)Gecko/20010714
16.07.2001 17:59:23 0.8 193.159.155.170 www.schellong.com/de/c.htm Moz/4.0(IE5.01;W98;DT)
16.07.2001 18:00:31 0.2 193.159.155.170 www.schellong.com/de/index.htm Moz/4.0(IE5.01;W98;DT)
16.07.2001 18:02:12 0.1 62.104.220.64 www.schellong.com/indexf.htm Moz/4.77en(X11;U;Linux2.4.6-xfsi686)
16.07.2001 18:02:38 0.2 62.104.220.64 www.schellong.com/de/ Moz/4.77en(X11;U;Linux2.4.6-xfsi686)
16.07.2001 18:02:48 0.11 62.104.220.64 www.schellong.com/de/cmd.htm Moz/4.77en(X11;U;Linux2.4.6-xfsi686)
16.07.2001 18:04:07 0.8 194.25.185.40 www.schellong.de/c.htm Moz/4.0(IE5.01;NT)
16.07.2001 18:11:39 0.8 62.96.164.225 www.schellong.de/c.htm Moz/4.0(IE5.0;Linux2.2.14i586)Opera5.0en
16.07.2001 18:17:33 0.2 64.110.184.89 www.schellong.de/ Moz/4.0(IE5.5;W95)
16.07.2001 18:18:19 0.143 64.110.184.89 www.schellong.de/::../bin/bsh32.exe Moz/4.0(IE5.5;W95)
16.07.2001 18:19:07 0.2 194.231.86.129 www.schellong.de/index.htm#programmers Moz/4.7deC-CCK-MCDQXW0322s(NT;I)
16.07.2001 18:19:46 0.2 64.110.184.89 www.schellong.de/ Moz/4.0(IE5.5;W95)
16.07.2001 18:26:22 0.8 195.146.96.230 www.schellong.de/c.htm Moz/4.0(IE5.0;W98;DigExt)
16.07.2001 18:39:20 0.8 193.194.7.77 www.schellong.de/c.htm Moz/4.0(IE5.5;NT4.0;QXW0333s;drebaIEV5.0-Zentrale;DrebaIEV5.01-EAP)
16.07.2001 18:42:10 0.8 62.46.179.135 www.schellong.de/c.htm Moz/4.0(IE5.01;NT5.0;LibroOnline)
16.07.2001 18:42:44 0.1 217.1.27.56 www.schellong.com/indexf.htm Moz/4.0(IE5.0;Linux2.2.19i686)Opera5.0en
16.07.2001 18:43:20 0.2 217.1.27.56 www.schellong.com/de/ Moz/4.0(IE5.0;Linux2.2.19i686)Opera5.0en
16.07.2001 1