Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Teilstrings?

69 views
Skip to first unread message

Robert Lange

unread,
Jul 15, 2001, 7:15:18 AM7/15/01
to
Moin,

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

Christian Garbs [Master Mitch]

unread,
Jul 15, 2001, 4:41:55 PM7/15/01
to
Robert Lange <robert...@gmx.net> wrote:
> Moin,

> 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.

Lars Klemstein

unread,
Jul 15, 2001, 5:04:15 PM7/15/01
to
"Christian Garbs [Master Mitch]" wrote:
[...]

> 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 :-)

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

Helmut Schellong

unread,
Jul 15, 2001, 2:33:28 PM7/15/01
to

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

Christian Weisgerber

unread,
Jul 15, 2001, 7:50:32 PM7/15/01
to
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

--
Christian "naddy" Weisgerber na...@mips.inka.de

Gunnar Ritter

unread,
Jul 15, 2001, 9:41:34 PM7/15/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> #!/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

Helmut Schellong

unread,
Jul 15, 2001, 10:07:40 PM7/15/01
to

Du schreibst einen ziemlichen Quatsch daher.

Gunnar Ritter

unread,
Jul 15, 2001, 11:38:43 PM7/15/01
to
Christian Weisgerber <na...@mips.inka.de> wrote:

> 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

Gunnar Ritter

unread,
Jul 16, 2001, 12:02:49 AM7/16/01
to
Helmut Schellong <sche...@t-online.de> wrote:

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

Gunnar Ritter

unread,
Jul 16, 2001, 12:07:23 AM7/16/01
to
Helmut Schellong <sche...@t-online.de> wrote:

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

Helmut Schellong

unread,
Jul 16, 2001, 6:38:42 AM7/16/01
to
Gunnar Ritter wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> > Gunnar Ritter wrote:
> >> Helmut Schellong <sche...@t-online.de> wrote:
> >> > #!/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.
> >
> > Du schreibst einen ziemlichen Quatsch daher.
>
> Haha, hoho, ROTFL.
>
> · »::« bei expr ist proprietär, da weder POSIX.2 noch SUSv2.

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

unread,
Jul 16, 2001, 11:32:08 AM7/16/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> 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

Christian Garbs [Master Mitch]

unread,
Jul 16, 2001, 1:03:10 PM7/16/01
to
Christian Garbs [Master Mitch] <mi...@mitch.h.shuttle.de> wrote:

> 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.

Christian Garbs [Master Mitch]

unread,
Jul 16, 2001, 12:39:10 PM7/16/01
to
Lars Klemstein <Lars.Kl...@t-online.de> wrote:

> 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

Christian Garbs [Master Mitch]

unread,
Jul 16, 2001, 1:08:08 PM7/16/01
to
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.

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

unread,
Jul 16, 2001, 2:41:14 PM7/16/01
to
Christian Garbs [Master Mitch] <mi...@mitch.h.shuttle.de> wrote:

> 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

Helmut Schellong

unread,
Jul 16, 2001, 1:42:27 PM7/16/01
to
Gunnar Ritter wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> > 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.

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!

Michael Mauch

unread,
Jul 16, 2001, 1:52:23 PM7/16/01
to
Robert Lange <robert...@gmx.net> wrote:

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

Juergen Ilse

unread,
Jul 16, 2001, 3:54:38 PM7/16/01
to
Helmut Schellong <sche...@t-online.de> wrote:
> Gunnar Ritter wrote:
>> · »::« bei expr ist proprietär, da weder POSIX.2 noch SUSv2.
> Dann ist $[1+2] ebenfalls proprietär - x-fach hier zu lesen.

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

Gunnar Ritter

unread,
Jul 16, 2001, 4:24:27 PM7/16/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> 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

Juergen P. Meier

unread,
Jul 16, 2001, 4:27:15 PM7/16/01
to
Helmut Schellong <sche...@t-online.de> wrote:
>Portabilität und Proprietär sind zwei verschiedene Dinge.
>
>Portabilität bei Shells muß man vielschichtig betrachten.

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!"

Juergen Ilse

unread,
Jul 16, 2001, 4:18:25 PM7/16/01
to
Hallo,

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?

Robert Lange

unread,
Jul 16, 2001, 4:58:58 PM7/16/01
to
Helmut Schellong meinte:

> 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

Christian Weisgerber

unread,
Jul 16, 2001, 5:46:26 PM7/16/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> #!/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.

Helmut Schellong

unread,
Jul 16, 2001, 5:51:10 PM7/16/01
to
Juergen Ilse wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
> > Gunnar Ritter wrote:
> >> · »::« bei expr ist proprietär, da weder POSIX.2 noch SUSv2.
> > 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.
>
> Also ist die kostenlose bsh eine eingescharenkte Version? Oder wo liegen
> genau die Unterschiede?

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.

Helmut Schellong

unread,
Jul 16, 2001, 5:54:57 PM7/16/01
to
Juergen Ilse wrote:
>
> Hallo,
>
> 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).

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...

Helmut Schellong

unread,
Jul 16, 2001, 6:00:45 PM7/16/01
to
"Juergen P. Meier" wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> >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.

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?

Christian Weisgerber

unread,
Jul 16, 2001, 9:00:23 PM7/16/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> 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

Helmut Schellong

unread,
Jul 17, 2001, 6:00:30 AM7/17/01
to
Christian Weisgerber wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> > 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.
> ...

Schnudel, schnudel, schnudel, paaauuuhhh ... :-)

Juergen P. Meier

unread,
Jul 17, 2001, 6:48:03 AM7/17/01
to
Helmut Schellong <sche...@t-online.de> wrote:
>Christian Weisgerber wrote:
>>
>> Helmut Schellong <sche...@t-online.de> wrote:
>>
>> > 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.
>> ...
>
>Schnudel, schnudel, schnudel, paaauuuhhh ... :-)

[X] Du sollst dein 3-Jaehriges kind nicht an deinen PC lassen!

SCNR, fup2 dag

Juergen P. Meier

unread,
Jul 17, 2001, 6:50:36 AM7/17/01
to
Helmut Schellong <sche...@t-online.de> wrote:
[den Bloedsinn des Monats (Juli 2001)]

Wusste ichs doch, shareware-programmierer muessen echt Krank im Kopf sein.

Kann ihm nicht mal wer ne Psychotherapie spendieren ?
oder wenigstens eine Merkbefreiung ausstellen.

Juergen P. Meier

unread,
Jul 17, 2001, 7:07:37 AM7/17/01
to
Helmut Schellong <sche...@t-online.de> wrote:
>"Juergen P. Meier" wrote:
>>
>> Helmut Schellong <sche...@t-online.de> wrote:
>>
>> >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.
>
>IBM-PC8 enthält ASCII, unter DOS nennt man IBM-PC8 'Codepage 437'.

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,

Matthias Friedrich

unread,
Jul 17, 2001, 7:35:07 AM7/17/01
to
Gunnar Ritter <g...@bigfoot.de> wrote:
> Christian Weisgerber <na...@mips.inka.de> wrote:
>> Robert Lange <robert...@gmx.net> wrote:

> 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

Joerg Wendland

unread,
Jul 17, 2001, 7:57:26 AM7/17/01
to
On 17 Jul 2001 10:50:36 GMT,

Juergen P. Meier <J...@lrz.fh-muenchen.de> wrote:
> Kann ihm nicht mal wer ne Psychotherapie spendieren ?

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.

Gunnar Ritter

unread,
Jul 17, 2001, 8:05:35 AM7/17/01
to
Juergen P. Meier <J...@lrz.fh-muenchen.de> wrote:

> 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

Helmut Schellong

unread,
Jul 17, 2001, 9:56:14 AM7/17/01
to
"Juergen P. Meier" wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
> >"Juergen P. Meier" wrote:
> >>
> >> Helmut Schellong <sche...@t-online.de> wrote:
> >>
> >> >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.
> >
> >IBM-PC8 enthält ASCII, unter DOS nennt man IBM-PC8 'Codepage 437'.
>
> Welchen teil von "unix" in de.comp.os.unix.shell hast du nicht verstanden?

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 18:43:30 0.132 217.1.27.56 www.schellong.com/de/::../bin/bsh_lx.bin Moz/4.0(IE5.0;Linux2.2.19i686)Opera5.0en
16.07.2001 18:45:35 0.8 62.46.179.135 Moz/4.0(IE5.01;NT5.0;LibroOnline)
16.07.2001 18:47:00 0.8 62.46.179.135 Moz/4.0(IE5.01;NT5.0;LibroOnline)
16.07.2001 18:48:54 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:51:48 0.8 62.46.179.135 Moz/4.0(IE5.01;NT5.0;LibroOnline)
16.07.2001 18:51:48 0.8 62.46.179.135 Moz/4.0(IE5.01;NT5.0;LibroOnline)
16.07.2001 18:52:54 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:54:57 0.10 62.132.70.130 www.schellong.de/cksum.htm Moz/4.0(IE5.5;NT5.0)
16.07.2001 18:55:13 0.121 62.132.70.130 www.schellong.de/cksum.htm::../bin/cksum.exe Moz/4.0(IE5.5;NT5.0)
16.07.2001 18:55:34 0.2 128.131.167.234 www.schellong.de/ Moz/5.0(W;U;NT5.0;en-US;rv:0.9.2)Gecko/20010628
16.07.2001 18:56:28 0.13 128.131.167.234 www.schellong.de/hinw.htm Moz/5.0(W;U;NT5.0;en-US;rv:0.9.2)Gecko/20010628
16.07.2001 18:56:44 0.2 193.194.7.77 www.schellong.de/index.htm Moz/4.0(IE5.5;NT4.0;QXW0333s;drebaIEV5.0-Zentrale;DrebaIEV5.01-EAP)
16.07.2001 18:56:56 0.9 193.194.7.77 www.schellong.de/cc.htm Moz/4.0(IE5.5;NT4.0;QXW0333s;drebaIEV5.0-Zentrale;DrebaIEV5.01-EAP)
16.07.2001 18:58:37 0.19 193.194.7.77 www.schellong.de/lim/compilo.htm Moz/4.0(IE5.5;NT4.0;QXW0333s;drebaIEV5.0-Zentrale;DrebaIEV5.01-EAP)
16.07.2001 18:58:52 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 19:01:13 0.143 128.131.167.234 www.schellong.de/::../bin/bsh32.exe Moz/5.0(W;U;NT5.0;en-US;rv:0.9.2)Gecko/20010628
16.07.2001 19:01:23 0.8 62.46.179.135 www.schellong.de/c.htm Moz/4.0(IE5.01;NT5.0;LibroOnline)
16.07.2001 19:01:35 0.157 128.131.167.234 www.schellong.de/::../bin/bsh64.exe Moz/5.0(W;U;NT5.0;en-US;rv:0.9.2)Gecko/20010628
16.07.2001 19:01:53 0.8 62.46.179.135 Moz/4.0(IE5.01;NT5.0;LibroOnline)
16.07.2001 19:01:53 0.8 62.46.179.135 Moz/4.0(IE5.01;NT5.0;LibroOnline)
16.07.2001 19:06:14 0.15 128.131.167.234 www.schellong.de/htm/bshmnk.htm Moz/5.0(W;U;NT5.0;en-US;rv:0.9.2)Gecko/20010628
16.07.2001 19:06:40 0.2 213.69.226.130 www.schellong.de/index.htm Moz/4.0(IE5.5;NT4.0)
16.07.2001 19:08:34 0.1 128.131.167.234 www.schellong.com/indexf.htm Moz/5.0(W;U;NT5.0;en-US;rv:0.9.2)Gecko/20010628
16.07.2001 19:09:32 0.2 213.69.226.130 www.schellong.de/ Moz/4.0(IE5.5;NT4.0)
16.07.2001 19:14:49 0.31 62.155.140.105 www.schellong.de/syntax.htm Moz/4.0(IE5.5;NT5.0)
16.07.2001 19:24:35 0.8 199.217.136.98 www.schellong.de/c.htm Moz/4.0(IE5.5;NT4.0)
16.07.2001 19:25:12 0.8 217.84.188.185 www.schellong.de/c.htm Moz/4.0(IE5.5;W98;DT)
16.07.2001 19:41:59 0.2 158.71.24.31 www.schellong.de/ Moz/4.0(IE5.0;W98;DigExt)
16.07.2001 19:42:25 0.9 200.222.3.3 www.schellong.de/cc.htm Moz/4.0(IE5.5;NT5.0;ACIE55)
16.07.2001 19:53:50 0.35 4.21.59.2 www.schellong.de/scouw.htm Moz/4.0(IE5.5;NT5.0)
16.07.2001 20:23:39 0.8 217.83.142.129 www.schellong.de/c.htm Moz/4.0(IE5.5;W98;W9x4.90)
16.07.2001 20:36:04 0.2 217.3.254.2 www.schellong.de/ Moz/4.0(IE5.5;W98;DT)
16.07.2001 20:36:35 0.143 217.3.254.2 www.schellong.de/::../bin/bsh32.exe Moz/4.0(IE5.5;W98;DT)
16.07.2001 20:37:39 0.35 193.253.233.121 www.schellong.de/scouw.htm Moz/4.0(IE5.5;NT5.0;NetCaptor6.5.0PB5)
16.07.2001 20:42:45 0.8 212.185.248.220 www.schellong.de/c.htm Moz/4.51deC-CCK-MCDDT(W98;I)
16.07.2001 20:44:16 0.8 200.52.194.1 www.schellong.com/de/c.htm Moz/4.0(IE5.0;W98;DigExt)
16.07.2001 20:56:49 0.31 62.180.19.175 www.schellong.com/de/syntax.htm Moz/4.77de(X11;U;Linux2.2.14i586)
16.07.2001 21:05:28 0.2 217.84.184.77 www.schellong.de/ Moz/4.08de(W98;I)
16.07.2001 21:06:09 0.143 217.84.184.77 www.schellong.de/::../bin/bsh32.exe Moz/4.08de(W98;I)
16.07.2001 21:15:27 0.13 62.226.25.228 www.schellong.de/hinw.htm Moz/4.0(IE6.0b;NT5.1)
16.07.2001 21:20:07 0.8 217.3.127.239 www.schellong.de/c.htm Moz/4.0(IE5.5;NT4.0)
16.07.2001 21:23:30 0.2 217.3.125.159 www.schellong.de/index.htm Moz/4.0(IE5.5;NT4.0)
16.07.2001 21:24:16 0.9 217.3.125.159 www.schellong.de/cc.htm Moz/4.0(IE5.5;NT4.0)
16.07.2001 21:44:50 0.5 217.83.168.71 www.schellong.de/190.htm Moz/4.0(IE5.5;NT5.0;DT)
16.07.2001 21:46:14 0.8 62.104.220.74 www.schellong.de/c.htm Moz/4.0(IE5.0;W95;QXW0300e;DigExt;QXW03319)
16.07.2001 21:56:50 0.8 62.227.252.22 www.schellong.de/c.htm Moz/4.0(IE5.5;W98;QXW0336a)
16.07.2001 22:06:17 0.28 213.168.73.140 www.schellong.de/overclk.htm Moz/4.0(IE5.5;NT5.0;QXW0336f)
16.07.2001 22:32:25 0.28 62.226.148.163 www.schellong.com/de/overclk.htm Moz/4.0(IE5.5;NT5.0)
16.07.2001 22:47:56 0.2 62.104.207.64 www.schellong.de/ Moz/4.77de(X11;U;HP-UXB.11.009000/712)
16.07.2001 22:48:01 0.2 62.104.207.64 www.schellong.de/ Moz/4.77de(X11;U;HP-UXB.11.009000/712)
16.07.2001 22:55:08 0.30 206.214.51.50 www.schellong.de/scoos.htm Moz/4.0(IE5.5;NT5.0)
16.07.2001 23:10:23 0.11 195.145.56.251 www.schellong.de/cmd.htm Moz/4.0(IE5.5;W98;W9x4.90)
16.07.2001 23:11:12 0.2 195.145.56.251 www.schellong.de/index.htm Moz/4.0(IE5.5;W98;W9x4.90)
16.07.2001 23:23:42 0.37 217.4.143.190 www.schellong.de/benzin.htm Moz/4.0(IE5.5;W98;W9x4.90;T-OnlineInternatinalAG)
16.07.2001 23:28:01 0.37 217.4.143.190 www.schellong.de/benzin.htm Moz/4.0(IE5.5;W98;W9x4.90;T-OnlineInternatinalAG)
16.07.2001 23:28:06 0.2 217.4.143.190 www.schellong.de/index.htm Moz/4.0(IE5.5;W98;W9x4.90;T-OnlineInternatinalAG)
16.07.2001 23:28:28 0.37 217.4.143.190 www.schellong.de/benzin.htm Moz/4.0(IE5.5;W98;W9x4.90;T-OnlineInternatinalAG)
16.07.2001 23:43:24 0.12 213.168.198.79 www.schellong.de/fan.htm Moz/4.75deC-CCK-MCDQXW0324v(W98;U)
16.07.2001 23:50:39 0.8 172.185.139.48 www.schellong.de/c.htm Moz/4.0(IE5.5;W98)
16.07.2001 23:51:50 0.25 62.157.79.79 www.schellong.de/old/hpinfo.htm Moz/4.7en(W98;I)
17.07.2001 00:04:11 0.8 204.210.240.236 www.schellong.de/c.htm Moz/4.0(IE5.0;NT;DigExt)
17.07.2001 00:15:42 0.8 217.230.143.150 www.schellong.de/c.htm Moz/4.0(IE5.5;W98;DT)
17.07.2001 00:18:09 0.8 24.216.69.239 www.schellong.de/c.htm Moz/4.0(IE5.5;W98)
17.07.2001 00:27:21 0.1 62.158.161.177 www.schellong.com/indexf.htm Moz/4.0(IE5.5;W98;W9x4.90;QXW0337k)
17.07.2001 00:43:42 0.1 212.186.101.227 www.schellong.com/indexf.htm Moz/5.0(W;U;NT5.0;en-US;rv:0.9.2)Gecko/20010628
17.07.2001 01:05:00 0.4 212.186.101.227 www.schellong.com/recover.htm Moz/5.0(W;U;NT5.0;en-US;rv:0.9.2)Gecko/20010628
17.07.2001 01:18:57 0.8 217.3.6.128 www.schellong.de/c.htm Moz/4.0(IE5.5;W98;QXW0336h)
17.07.2001 01:22:00 0.8 149.225.37.214 www.schellong.de/c.htm Moz/4.0(IE5.0;W98;DigExt)
17.07.2001 01:34:15 0.2 212.186.101.227 www.schellong.com/de/ Moz/5.0(W;U;NT5.0;en-US;rv:0.9.2)Gecko/20010628
17.07.2001 01:34:39 0.13 212.186.101.227 www.schellong.com/de/hinw.htm Moz/5.0(W;U;NT5.0;en-US;rv:0.9.2)Gecko/20010628
17.07.2001 01:38:18 0.2 212.186.101.227 www.schellong.de/ Moz/5.0(W;U;NT5.0;en-US;rv:0.9.2)Gecko/20010628
17.07.2001 01:48:22 0.8 62.227.77.146 www.schellong.de/c.htm Moz/4.0(IE5.5;NT5.0)
17.07.2001 03:51:15 0.8 130.102.80.213 www.schellong.de/c.htm Moz/4.75C-SGIen(X11;I;IRIX646.5IP27)
17.07.2001 04:19:25 0.12 62.104.219.70 www.schellong.de/fan.htm Moz/4.0(IE5.0;W98;DigExt)
17.07.2001 04:37:45 0.2 62.155.141.242 www.schellong.de/index.htm Moz/4.0(IE6.0b;W98)
17.07.2001 04:38:03 0.13 62.155.141.242 www.schellong.de/hinw.htm Moz/4.0(IE6.0b;W98)
17.07.2001 04:58:33 0.8 149.225.47.110 www.schellong.de/c.htm Moz/4.7deC-CCK-MCDQXW03200(W95;I)
17.07.2001 05:50:48 0.2 149.205.18.6 www.schellong.de/index.htm Moz/4.0(IE5.01;NT5.0)
17.07.2001 05:51:22 0.32 149.205.18.6 www.schellong.de/win.htm Moz/4.0(IE5.01;NT5.0)
17.07.2001 08:09:28 0.2 172.149.76.161 www.schellong.de/ Moz/4.0(IE5.0;W98)Opera5.12fr
17.07.2001 08:09:57 0.2 172.149.76.161 www.schellong.de/ Moz/4.0(IE5.0;W98)Opera5.12fr
17.07.2001 08:10:25 0.143 172.149.76.161 www.schellong.de/::../bin/bsh32.exe Moz/4.0(IE5.0;W98)Opera5.12fr
17.07.2001 08:19:49 0.2 193.158.55.74 www.schellong.de/ Moz/4.0(IE5.01;NT;Web-Fred1.1;Web-Fred1.2)
17.07.2001 08:21:11 0.31 212.59.184.99 www.schellong.de/syntax.htm Moz/4.7en(NT;I)
17.07.2001 08:23:04 0.11 195.96.10.34 www.schellong.de/cmd.htm Moz/4.0(IE5.5;NT5.0)
17.07.2001 08:23:08 0.2 212.59.184.99 www.schellong.de/ Moz/4.7en(NT;I)
17.07.2001 08:25:04 0.37 212.59.184.99 www.schellong.de/benzin.htm Moz/4.7en(NT;I)
17.07.2001 08:27:44 0.8 217.80.148.224 www.schellong.de/c.htm Moz/4.77de(X11;U;Linux2.2.19i686)
17.07.2001 08:43:00 0.31 212.59.180.19 Moz/4.75de(NT;U)
17.07.2001 08:43:23 0.2 212.59.180.19 www.schellong.de/ Moz/4.75de(NT;U)
17.07.2001 08:44:14 0.143 212.59.180.19 www.schellong.de/::../bin/bsh32.exe Moz/4.75de(NT;U)
17.07.2001 08:44:47 0.13 212.59.180.19 www.schellong.de/hinw.htm Moz/4.75de(NT;U)
17.07.2001 09:08:45 0.2 193.194.7.77 www.schellong.de/ Moz/4.0(IE5.01;NT5.0;DrebaIEV5.01-EAP)
17.07.2001 09:09:03 0.7 193.194.7.77 www.schellong.de/bshbeisp.htm Moz/4.0(IE5.01;NT5.0;DrebaIEV5.01-EAP)
17.07.2001 09:18:03 0.8 62.180.24.150 www.schellong.de/c.htm Moz/4.0(IE5.01;NT5.0)
17.07.2001 09:25:34 0.1 195.37.139.20 www.schellong.com/indexf.htm Moz/4.75de(X11;U;SunOS5.8sun4u)
17.07.2001 09:26:11 0.2 195.37.139.20 www.schellong.com/de/ Moz/4.75de(X11;U;SunOS5.8sun4u)
17.07.2001 09:26:52 0.31 195.37.139.20 www.schellong.com/de/syntax.htm Moz/4.75de(X11;U;SunOS5.8sun4u)
17.07.2001 09:27:52 0.8 194.120.248.43 Moz/4.0(IE5.0;W98)Opera5.12en
17.07.2001 09:28:40 0.8 217.81.161.243 www.schellong.de/c.htm Moz/4.0(IE5.5;W98;T-OnlineInternatinalAG)
17.07.2001 09:55:51 0.2 145.253.206.13 www.schellong.de/?nIrat=500 Moz/4.0(IE5.5;W98)
17.07.2001 09:56:12 0.10 145.253.206.13 www.schellong.de/cksum.htm Moz/4.0(IE5.5;W98)
17.07.2001 09:56:34 0.8 195.28.224.33 www.schellong.de/c.htm Moz/4.0(IE5.5;NT4.0)
17.07.2001 10:00:00 0.2 217.6.109.122 www.schellong.de/ Moz/4.0(IE5.5;NT4.0)
17.07.2001 10:01:54 0.143 217.6.109.122 www.schellong.de/::../bin/bsh32.exe Moz/4.0(IE5.5;NT4.0)
17.07.2001 10:02:14 0.2 217.6.109.122 www.schellong.de/ Moz/4.0(IE5.5;NT4.0)
17.07.2001 10:02:55 0.15 217.6.109.122 www.schellong.de/htm/bshmnk.htm Moz/4.0(IE5.5;NT4.0)
17.07.2001 10:04:01 0.8 134.60.63.54 www.schellong.de/c.htm Moz/4.76de(X11;U;Linux2.2.16i686)
17.07.2001 10:09:12 0.8 194.221.38.50 www.schellong.de/c.htm Moz/4.73en(NT;U)
17.07.2001 10:09:26 0.8 194.221.38.50 www.schellong.de/c.htm Moz/4.73en(NT;U)
17.07.2001 10:09:30 0.12 193.159.96.190 www.schellong.de/fan.htm Moz/4.7de(W98;U)
17.07.2001 10:14:26 0.28 62.155.158.115 www.schellong.de/overclk.htm Moz/4.0(IE5.5;NT5.0)
17.07.2001 10:19:08 0.8 194.221.38.50 www.schellong.de/c.htm#init Moz/4.73en(NT;U)
17.07.2001 10:22:26 0.8 129.13.64.65 www.schellong.de/c.htm Moz/4.0(IE6.0b;NT5.0)
17.07.2001 10:23:51 0.5 195.3.97.4 www.schellong.de/190.htm Moz/4.0(IE5.5;NT4.0)
17.07.2001 10:31:32 0.8 193.7.145.70 www.schellong.de/c.htm Moz/4.75de(NT;U)
17.07.2001 10:48:24 0.8 53.122.102.66 www.schellong.de/c.htm Moz/4.5en(X11;I;AIX4.1)
17.07.2001 10:48:39 0.8 217.228.220.99 www.schellong.de/c.htm Moz/4.0(IE5.0;Mac_PowerPC)
17.07.2001 10:52:43 0.8 62.180.124.100 www.schellong.de/c.htm Moz/4.08de(NT;I)
17.07.2001 10:55:26 0.1 195.222.230.50 www.schellong.com/indexf.htm Moz/4.77en(X11;U;Linux2.4.0-ac4i686)
17.07.2001 10:55:50 0.8 212.118.209.97 www.schellong.de/c.htm Moz/4.0(IE5.0;Linux2.2.16i686)Opera5.0en
17.07.2001 10:56:22 0.31 195.222.230.50 www.schellong.com/de/syntax.htm#kdos Moz/4.77en(X11;U;Linux2.4.0-ac4i686)
17.07.2001 11:08:16 0.8 129.217.182.24 www.schellong.de/c.htm Moz/4.61en(X11;I;Linux2.2.19i686)
17.07.2001 11:13:41 0.30 217.81.128.37 www.schellong.de/scoos.htm Moz/4.0(IE5.01;NT5.0)
17.07.2001 11:14:59 0.2 217.81.128.37 www.schellong.de/index.htm Moz/4.0(IE5.01;NT5.0)
17.07.2001 11:16:15 0.8 193.161.152.243 www.schellong.de/c.htm Moz/4.0(IE5.5;NT4.0)
17.07.2001 11:34:32 0.32 195.49.5.254 www.schellong.de/win.htm Moz/4.0(IE5.0;W98;DigExt)
17.07.2001 11:37:40 0.1 212.185.253.67 www.schellong.com/indexf.htm Moz/4.73deC-CCK-MCDDT(W98;U)
17.07.2001 11:38:38 0.38 212.185.253.72 www.schellong.com/de/icnt.htm Moz/4.73deC-CCK-MCDDT(W98;U)
17.07.2001 11:38:47 0.8 129.217.182.24 www.schellong.de/c.htm Moz/4.61en(X11;I;Linux2.2.19i686)
17.07.2001 11:49:31 0.7 217.1.122.17 www.schellong.de/bshbeisp.htm Moz/4.0(IE5.5;NT4.0)
17.07.2001 11:54:51 0.30 202.131.0.16 www.schellong.de/scoos.htm Moz/4.72en(W98;I)
17.07.2001 11:55:10 0.8 134.60.246.151 www.schellong.de/c.htm Moz/4.76en(X11;U;Linux2.4.5i686)
17.07.2001 11:58:14 0.8 194.8.217.66 www.schellong.de/c.htm Moz/4.0(IE5.01;NT)
17.07.2001 12:05:37 0.29 137.226.136.230 www.schellong.de/pent.htm Moz/4.0(IE5.0;W98)
17.07.2001 12:07:36 0.8 62.47.12.129 www.schellong.de/c.htm Moz/4.0(IE5.01;NT5.0)
17.07.2001 12:09:21 0.8 193.141.62.20 www.schellong.de/c.htm Moz/4.7[en-gb](NT;U)
17.07.2001 12:12:39 0.8 193.141.62.20 www.schellong.de/c.htm Moz/4.7[en-gb](NT;U)
17.07.2001 12:12:39 0.8 193.141.62.20 www.schellong.de/c.htm Moz/4.7[en-gb](NT;U)
17.07.2001 12:12:40 0.8 193.141.62.20 www.schellong.de/c.htm Moz/4.7[en-gb](NT;U)
17.07.2001 12:12:40 0.8 193.141.62.20 www.schellong.de/c.htm Moz/4.7[en-gb](NT;U)
17.07.2001 12:25:52 0.2 151.97.253.98 www.schellong.de/ Moz/4.0(IE5.0;W98;DigExt)
17.07.2001 12:26:33 0.132 151.97.253.98 www.schellong.de/::../bin/bsh_lx.bin Moz/4.0(IE5.0;W98;DigExt)
17.07.2001 12:30:30 0.2 195.222.230.50 www.schellong.de/ Moz/4.77en(X11;U;Linux2.4.0-ac4i686)
17.07.2001 12:30:51 0.15 195.222.230.50 www.schellong.de/htm/bshmnk.htm Moz/4.77en(X11;U;Linux2.4.0-ac4i686)
17.07.2001 12:42:41 0.2 62.254.160.204 www.schellong.de/ Moz/4.0(IE5.0;W98;DigExt)
17.07.2001 12:43:04 0.142 62.254.160.204 www.schellong.de/::../bin/bsh.exe Moz/4.0(IE5.0;W98;DigExt)
17.07.2001 12:47:45 0.8 193.186.161.54 www.schellong.de/c.htm Moz/4.0(IE5.0;NT)
17.07.2001 12:48:44 0.1 149.225.57.43 www.schellong.com/indexf.htm Moz/4.0(IE4.01;W98)
17.07.2001 12:51:29 0.1 194.59.179.8 Moz/3.01Gold(Macintosh;I;68K)
17.07.2001 12:52:49 0.3 194.59.179.8 Moz/3.01Gold(Macintosh;I;68K)
17.07.2001 12:53:59 0.2 194.59.179.8 Moz/3.01Gold(Macintosh;I;68K)
17.07.2001 12:56:25 0.31 129.13.73.29 www.schellong.com/de/syntax.htm Moz/4.77de(X11;U;Linux2.2.18i686)
17.07.2001 13:04:01 0.8 212.114.202.11 www.schellong.de/c.htm Moz/4.0(IE5.0;NT;FrontStore3.6;DigExt)
17.07.2001 13:04:14 0.7 194.59.179.8 Moz/3.01Gold(Macintosh;I;68K)
17.07.2001 13:05:06 0.4 62.156.63.50 www.schellong.com/recover.htm Moz/4.0(IE5.5;W98;W9x4.90)
17.07.2001 13:09:24 0.8 129.187.254.49 Moz/3.01Gold(Macintosh;I;68K)
17.07.2001 13:09:46 0.8 213.69.171.25 www.schellong.de/c.htm Moz/4.0(IE5.01;NT5.0)
17.07.2001 13:10:07 0.2 129.187.254.49 Moz/3.01Gold(Macintosh;I;68K)
17.07.2001 13:10:20 0.31 212.121.135.226 www.schellong.de/syntax.htm Moz/4.0(IE4.01;NT)
17.07.2001 13:11:12 0.13 129.187.254.49 www.schellong.de/hinw.htm Moz/5.0(X11;U;Linuxi686;en-US;rv:0.9.2)Gecko/20010628
17.07.2001 13:13:00 0.1 62.156.63.50 www.schellong.com/indexf.htm Moz/4.0(IE5.5;W98;W9x4.90)
17.07.2001 13:13:35 0.8 213.69.171.25 www.schellong.de/c.htm Moz/4.0(IE5.01;NT5.0;IECrawler)
17.07.2001 13:15:26 0.2 213.69.171.25 www.schellong.de/ Moz/4.0(IE5.01;NT5.0)
17.07.2001 13:16:25 0.2 12.105.91.217 www.schellong.de/ Moz/4.75en(NT;U)
17.07.2001 13:16:38 0.137 213.69.171.25 www.schellong.de/::../txt/c9x.txt Moz/4.0(IE5.01;NT5.0)
17.07.2001 13:16:50 0.143 12.105.91.217 www.schellong.de/::../bin/bsh32.exe Moz/4.75en(NT;U)
17.07.2001 13:16:56 0.18 129.13.73.29 www.schellong.com/de/kurz.htm Moz/4.77de(X11;U;Linux2.2.18i686)
17.07.2001 13:17:54 0.8 195.214.4.227 www.schellong.de/c.htm Moz/4.0(IE5.5;W98)
17.07.2001 13:23:05 0.8 194.127.2.70 www.schellong.de/c.htm Moz/4.0(IE5.5;NT5.0)
17.07.2001 13:29:46 0.8 129.217.135.75 www.schellong.de/c.htm Moz/4.7de(W98;U)
17.07.2001 13:30:10 0.120 129.217.135.75 www.schellong.de/c.htm#ansilib::../lim/lim.h Moz/4.7de(W98;U)
17.07.2001 13:32:41 0.2 129.217.135.75 www.schellong.de/index.htm#programmers Moz/4.7de(W98;U)
17.07.2001 13:33:02 0.9 129.217.135.75 www.schellong.de/cc.htm Moz/4.7de(W98;U)
17.07.2001 13:39:39 0.2 193.98.188.218 www.schellong.de/ Moz/4.75de(NT;U)
17.07.2001 13:40:11 0.2 128.7.2.5 www.schellong.com/de/index.htm Moz/4.76en(X11;U;SunOS5.8sun4u)
17.07.2001 13:40:52 0.23 193.98.188.218 www.schellong.de/old/delsafe.htm Moz/4.75de(NT;U)
17.07.2001 14:01:03 0.31 62.154.239.241 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT5.0)
17.07.2001 14:04:30 0.8 194.59.16.19 www.schellong.de/c.htm Moz/4.73deC-CCK-MCDDT(NT;U)
17.07.2001 14:06:33 0.26 217.227.7.158 www.schellong.de/old/olinfo.htm Moz/4.0(IE5.0;Mac_PowerPC)
17.07.2001 14:10:17 0.2 130.83.244.130 www.schellong.de/ Moz/4.5en(X11;U;Linux2.0.36i686)
17.07.2001 14:11:37 0.9 130.83.244.130 www.schellong.de/cc.htm Moz/4.5en(X11;U;Linux2.0.36i686)
17.07.2001 14:12:10 0.2 212.18.3.66 www.schellong.de/index.htm Moz/4.0(IE5.01;NT5.0)
17.07.2001 14:12:27 0.138 212.18.3.66 www.schellong.de/index.htm::../bin/dw.tar.Z Moz/4.0(IE5.01;NT5.0)
17.07.2001 14:14:05 0.23 130.83.244.130 www.schellong.de/old/delsafe.htm Moz/4.5en(X11;U;Linux2.0.36i686)
17.07.2001 14:15:58 0.8 130.83.244.130 www.schellong.de/c.htm Moz/4.5en(X11;U;Linux2.0.36i686)
17.07.2001 14:19:13 0.137 130.83.244.130 www.schellong.de/::../txt/c9x.txt Moz/4.5en(X11;U;Linux2.0.36i686)
17.07.2001 14:19:48 0.29 130.83.244.130 www.schellong.de/pent.htm Moz/4.5en(X11;U;Linux2.0.36i686)
17.07.2001 14:27:22 0.8 172.176.125.11 www.schellong.de/c.htm Moz/4.0(IE5.5;W98;T-OnlineInternatinalAG)
17.07.2001 14:34:05 0.15 62.225.218.83 www.schellong.de/htm/bshmnk.htm Moz/4.0(IE5.5;W98;W9x4.90;T-OnlineInternatinalAG)
17.07.2001 14:48:20 0.2 134.60.100.20 Moz/4.7en(X11;I;SunOS5.5sun4m;Nav)
17.07.2001 14:49:10 0.1 134.60.100.20 Moz/4.7en(X11;I;SunOS5.5sun4m;Nav)
17.07.2001 14:50:19 0.2 194.25.18.213 www.schellong.de/ Moz/4.0(IE5.01;NT5.0)
17.07.2001 14:50:20 0.37 134.60.100.20 Moz/4.7en(X11;I;SunOS5.5sun4m;Nav)
17.07.2001 14:51:10 0.1 134.60.100.20 Moz/4.7en(X11;I;SunOS5.5sun4m;Nav)
17.07.2001 14:51:18 0.11 194.25.18.213 www.schellong.de/cmd.htm Moz/4.0(IE5.01;NT5.0)
17.07.2001 14:51:51 0.31 212.29.34.161 www.schellong.de/syntax.htm Moz/4.75deC-CCK-MCDDT(NT;U)
17.07.2001 14:54:48 0.8 194.221.211.33 www.schellong.de/c.htm Moz/4.0(IE4.01;NT;HVB:NT-OIS)
17.07.2001 14:57:02 0.32 194.25.18.213 www.schellong.de/win.htm Moz/4.0(IE5.01;NT5.0)
17.07.2001 14:57:23 0.8 194.59.16.19 www.schellong.de/c.htm Moz/4.73deC-CCK-MCDDT(NT;U)
17.07.2001 14:58:54 0.2 217.86.98.208 www.schellong.de/ Moz/4.0(IE5.5;W98;T-OnlineInternatinalAG)
17.07.2001 15:00:07 0.7 193.150.166.43 www.schellong.de/bshbeisp.htm Moz/4.75de(NT;U)
17.07.2001 15:04:53 0.31 217.1.187.2 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:07:40 0.18 217.1.181.224 www.schellong.de/kurz.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:16:25 0.30 202.54.37.101 www.schellong.de/scoos.htm Moz/4.0(IE5.0;NT;DigExt)
17.07.2001 15:16:32 0.8 62.158.182.16 www.schellong.com/de/c.htm Moz/4.0(IE5.0;W98;DigExt)
17.07.2001 15:19:17 0.1 217.2.139.86 www.schellong.com/indexf.htm Moz/4.0(IE5.01;W98;DT)
17.07.2001 15:19:59 0.2 217.2.139.86 www.schellong.com/de/ Moz/4.0(IE5.01;W98;DT)
17.07.2001 15:25:34 0.8 217.3.163.168 www.schellong.de/c.htm Moz/4.0(IE5.5;MSN2.5;W98;DT)
17.07.2001 15:30:29 0.32 195.141.224.234 www.schellong.de/win.htm Moz/4.0(IE5.01;NT5.0)
17.07.2001 15:31:09 0.13 195.141.224.234 www.schellong.de/hinw.htm Moz/4.0(IE5.01;NT5.0)
17.07.2001 15:33:02 0.2 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:04 0.37 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:06 0.5 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:26 0.2 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:26 0.6 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:32 0.6 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:33 0.10 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:34 0.11 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:34 0.7 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:34 0.8 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:34 0.9 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:36 0.9 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:36 0.8 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:54 0.12 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:33:55 0.13 217.1.186.59 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:35:03 0.1 195.195.28.1 translate.google.com/translate_c?hl=en&u=http://www.schellong.com/indexf.htm&prev=/search%3Fq%3Dunix%2Bshell%2Bwindows%26hl%3Den%26safe%3Doff Moz/4.7[en-gb](NT;U)
17.07.2001 15:35:35 0.2 217.1.186.59 www.schellong.de/ Moz/4.0(IE5.01;NT)
17.07.2001 15:36:01 0.2 195.195.28.1 translate.google.com/translate_c?hl=en&u=http://www.schellong.com/de/&prev=/search%3Fq%3Dunix%2Bshell%2Bwindows%26hl%3Den%26safe%3Doff Moz/4.7[en-gb](NT;U)
17.07.2001 15:36:43 0.31 195.3.100.129 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:37:12 0.18 195.3.100.129 www.schellong.de/kurz.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:37:28 0.31 195.3.100.129 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:37:30 0.31 195.3.100.129 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:37:31 0.31 195.3.100.129 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:37:32 0.31 195.3.100.129 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:37:33 0.31 195.3.100.129 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:37:34 0.31 195.3.100.129 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:37:35 0.31 195.3.100.129 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:37:36 0.31 195.3.100.129 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:37:37 0.31 195.3.100.129 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:37:38 0.31 195.3.100.129 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:37:40 0.31 195.3.100.129 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:37:41 0.31 195.3.100.129 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:41:07 0.2 195.3.100.129 www.schellong.de/index.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:42:11 0.2 217.1.189.254 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:42:15 0.134 195.3.100.129 www.schellong.de/index.htm::../txt/version.txt Moz/4.0(IE5.01;NT)
17.07.2001 15:42:37 0.37 217.1.189.254 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:42:57 0.5 217.1.189.254 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:42:57 0.6 217.1.189.254 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:42:57 0.7 217.1.189.254 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:42:57 0.8 217.1.189.254 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:42:57 0.9 217.1.189.254 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:43:04 0.10 217.1.189.254 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:43:10 0.11 217.1.189.254 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:43:10 0.12 217.1.189.254 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:43:10 0.13 217.1.189.254 Moz/2.0(IE3.02;Updatea;W95)
17.07.2001 15:43:13 0.31 217.1.189.254 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:43:16 0.18 217.1.189.254 www.schellong.de/kurz.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:43:38 0.2 217.1.189.254 www.schellong.de/index.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:43:43 0.5 195.3.100.129 www.schellong.de/190.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:44:24 0.142 217.1.189.254 www.schellong.de/index.htm::../bin/bsh.exe Moz/4.0(IE5.01;NT)
17.07.2001 15:44:50 0.143 217.1.189.254 www.schellong.de/index.htm::../bin/bsh32.exe Moz/4.0(IE5.01;NT)
17.07.2001 15:45:11 0.131 217.1.189.254 www.schellong.de/index.htm::../bin/bsh_freebsd.bin Moz/4.0(IE5.01;NT)
17.07.2001 15:45:32 0.7 217.1.189.254 www.schellong.de/bshbeisp.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:46:34 0.31 217.1.189.254 www.schellong.de/syntax.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:46:57 0.18 217.1.189.254 www.schellong.de/kurz.htm Moz/4.0(IE5.01;NT)
17.07.2001 15:47:30 0.8 141.71.99.136 www.schellong.de/c.htm Moz/4.0(IE5.5;NT4.0)
17.07.2001 15:48:27 0.8 141.15.20.1 www.schellong.de/c.htm Moz/4.0(IE5.5;NT4.0)
17.07.2001 15:49:32 0.2 195.46.252.212 www.schellong.de/ Moz/4.0(IE5.5;W98;W9x4.90)
17.07.2001 15:56:23 0.2 192.35.17.233 www.schellong.de/ Moz/4.0(IE5.01;NT)
17.07.2001 16:01:59 0.1 217.2.247.4 www.schellong.com/indexf.htm Moz/4.61en(X11;I;UnixWare5i386)
17.07.2001 16:02:07 0.2 217.2.247.4 www.schellong.com/de/ Moz/4.61en(X11;I;UnixWare5i386)
17.07.2001 16:02:26 0.132 217.2.247.4 www.schellong.com/de/::../bin/bsh_lx.bin Moz/4.61en(X11;I;UnixWare5i386)
------------------------------------------------------------------------
=================================================================

Christian Garbs [Master Mitch]

unread,
Jul 17, 2001, 5:07:30 PM7/17/01
to
Helmut Schellong <sche...@t-online.de> wrote:

>> >> 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.

Ähem, wenn ich da auch mal was dazu sagen darf:
Ausgangslage für diese Teildiskussion war ja dieser ominöse Disclaimer
(ich hab die bsh noch nie gesehen).

Soll das jetzt bedeuten, daß ich die bsh im Textmodus laufen
lassen muß, damit ich den Disclaimer lesen kann oder wie darf ich mir
das vorstellen?

> Meine heutige Statistik:

[Megaschnipp]

Was das nicht ein bisschen groß für ein Newsposting? Sind Listen mit
Zeitstempel, HTTP-Request und Quell-IP nicht als personenbezogene
Daten einzustufen (feste IP-Adressen führten zu einer bestimmbaren
Person)? Soll man personenbezogene Daten veröffentlichen? Was sagen
die betroffenen Personen dazu?

Gruß,
Christian
--
....Christian.Garbs.....................................http://www.cgarbs.de

Same Rei. New Story.
Check out Neon Exodus Evangelion http://www.eyrie.net/NXE/

Christian Weisgerber

unread,
Jul 17, 2001, 6:37:30 PM7/17/01
to
Christian Garbs [Master Mitch] <mi...@mitch.h.shuttle.de> wrote:

> Aber echt interessant der Ansatz: Ein case..switch-Konstrukt mit
> konstantem Case und variablen Switches hab' ich noch nicht gesehen :-)

Die ALGOL-artige Benennung der Ablaufanweisungen der Bourne-Shell
ist bisweilen irreführend. "case" ist eben kein Pascal "case"/C
"switch", sondern ein Mustervergleich, und "for" ist keine Zählschleife,
sondern iteriert über die Elemente einer Menge.

Helmut Schellong

unread,
Jul 17, 2001, 9:16:20 PM7/17/01
to
"Christian Garbs [Master Mitch]" wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> >> >> 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.
>
> Ähem, wenn ich da auch mal was dazu sagen darf:
> Ausgangslage für diese Teildiskussion war ja dieser ominöse Disclaimer
> (ich hab die bsh noch nie gesehen).
>
> Soll das jetzt bedeuten, daß ich die bsh im Textmodus laufen
> lassen muß, damit ich den Disclaimer lesen kann oder wie darf ich mir
> das vorstellen?

Ach was, ach was,
da sind nur 3-5 Zeichen, die man bei unpassendem
Zeichensatz selbst deuten muß - Umlaute halt.

Und in dem Starttext steht im wesentlichen nur drin,
daß man die kostenlose bsh nicht für gewerbliche Zwecke
mit Gewinnerzielungsabsicht nutzen darf.

> > Meine heutige Statistik:
>
> [Megaschnipp]
>
> Was das nicht ein bisschen groß für ein Newsposting? Sind Listen mit
> Zeitstempel, HTTP-Request und Quell-IP nicht als personenbezogene
> Daten einzustufen (feste IP-Adressen führten zu einer bestimmbaren
> Person)? Soll man personenbezogene Daten veröffentlichen? Was sagen
> die betroffenen Personen dazu?

Wie soll ich anders beweisen, daß Downloads bei mir
funktionieren?
Es hat nämlich jemand behauptet, das ginge bei mir nicht.

Streng genommen und idealerweise sollte man bei IPs
den rechten Abschnitt unkenntlich machen.

Aber, zu einer IP gehört ein Host(name), nicht eine Person.
Und wenn mal doch nur eine Person damit arbeitet, dann
weiß das der Leser des Hostnamens ohnehin nicht, und die,
die das wissen, kennen diese Person ohnehin.

Wenn ich mal zu 1000 IPs die Hostnamen besorge, dann sehe
ich immer nur personenmäßig nichtssagende Namen.
Die meisten IPs sind eh dynamisch zugeteilt.

Meine IP lautet: 217.160.48.140
Jeder auf der Welt kann per whois und dieser IP
meine komplette Anschrift erfahren.
Das ist erheblich mehr als ein Hostname.

Postanschriften fallen nicht unter den Datenschutz,
sie stehen in jedem Telefonbuch und sind öffentlich.

Sven Mascheck

unread,
Jul 18, 2001, 6:32:09 AM7/18/01
to
Christian Weisgerber <na...@mips.inka.de> wrote:
> Helmut Schellong <sche...@t-online.de> wrote:

>> Deshalb verwende ich auch bsh, weil die mit ihren 100 internen
>> Kommandos überall gleich ist.

> [ AIX 4.3 /usr/bin/bsh, Bourne shell ]

Das exakt gleiche gilt für Irix 6.5

Juergen P. Meier

unread,
Jul 18, 2001, 10:09:55 AM7/18/01
to
Helmut Schellong <sche...@t-online.de> wrote:
>"Christian Garbs [Master Mitch]" wrote:
>>
>> Helmut Schellong <sche...@t-online.de> wrote:
>>
>> >> >> 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.
>>
>> Ähem, wenn ich da auch mal was dazu sagen darf:
>> Ausgangslage für diese Teildiskussion war ja dieser ominöse Disclaimer
>> (ich hab die bsh noch nie gesehen).
>>
>> Soll das jetzt bedeuten, daß ich die bsh im Textmodus laufen
>> lassen muß, damit ich den Disclaimer lesen kann oder wie darf ich mir
>> das vorstellen?
>
>Ach was, ach was,
>da sind nur 3-5 Zeichen, die man bei unpassendem
>Zeichensatz selbst deuten muß - Umlaute halt.

Wie war das noch mit der Portabilitaet ?

>Und in dem Starttext steht im wesentlichen nur drin,
>daß man die kostenlose bsh nicht für gewerbliche Zwecke
>mit Gewinnerzielungsabsicht nutzen darf.

uh, wer moechte keinen Gewinn erzielen?
Zaehlst du "Lernen" dazu? (gewinn hier ist der Wissenszuwachs)
Aber das ist nitpickerei.
Du hast eine verkrueppelte nichtkomerzielle version deiner
ansonsten komerziellen shell. Kannst du mit der Aussage leben?

>> > Meine heutige Statistik:
>>
>> [Megaschnipp]
>>
>> Was das nicht ein bisschen groß für ein Newsposting? Sind Listen mit
>> Zeitstempel, HTTP-Request und Quell-IP nicht als personenbezogene
>> Daten einzustufen (feste IP-Adressen führten zu einer bestimmbaren
>> Person)? Soll man personenbezogene Daten veröffentlichen? Was sagen
>> die betroffenen Personen dazu?
>
>Wie soll ich anders beweisen, daß Downloads bei mir
>funktionieren?

Musst du nicht. Das kann wohl jeder fuer sich ganz alleine rausfinden.
(deinem counter taete es ganz gut, der duempelt bei 6 recht schmucklos rum)

>Es hat nämlich jemand behauptet, das ginge bei mir nicht.

Das war ich. Es geht immernoch nicht. (siehe unten)

>Streng genommen und idealerweise sollte man bei IPs
>den rechten Abschnitt unkenntlich machen.

Tja, mit einer Bourne shell und jedem sed ginge das so:

#! /bin/sh

sed <weblog.txt \
's/[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*/x.x.x.x/g' \
>>newsposting.txt

Da die einzige bsh, die ich auf die schnelle fand (dein download klappt
bei mir ja nicht), war lediglich eine verkappte sh (batch shell).
(nein, das war kein AIX rechner, sondern zur abwechslung eine SUN)

>Aber, zu einer IP gehört ein Host(name), nicht eine Person.
>Und wenn mal doch nur eine Person damit arbeitet, dann
>weiß das der Leser des Hostnamens ohnehin nicht, und die,
>die das wissen, kennen diese Person ohnehin.

Bei Dial-up zugaenegen gehoert idR. zu einer IP zu einem Zeitpunkt
(du hattest da ja netterweise auch zeitstempel drin) genau ein
Dial-Up Kunde. Und bei T-online z.b. ist das meist eine Person.

Auch bei anderen IP's kann es sein, das genau eine Person
zu einer IP gehoert (bei meinen ip's zuhause ist das z.b. so, kannst
du beim Ripe nachschauen)

>Wenn ich mal zu 1000 IPs die Hostnamen besorge, dann sehe
>ich immer nur personenmäßig nichtssagende Namen.

Hostnamen interessieren hier niemanden. Ich kann meine IP's auf hostnamen
wie bill.gates.whitehouse.gov oder schroeder.regierung.de oder
localhost zeigen lassen.

RIPE hat die interessantere IP-zu-Personen[3] zuordnung in form einer
Oeffentlich zugaenglichen Datenbank.

>Die meisten IPs sind eh dynamisch zugeteilt.

Und?

>Meine IP lautet: 217.160.48.140
>Jeder auf der Welt kann per whois und dieser IP
>meine komplette Anschrift erfahren.
>Das ist erheblich mehr als ein Hostname.
>
>Postanschriften fallen nicht unter den Datenschutz,
>sie stehen in jedem Telefonbuch und sind öffentlich.

Du hast das mit dem _bezogen_ bei "Personenbezogenen Daten" nicht verstanden.
[x] Du moechtest einen Anwalt konsultieren, der dir Erklaert, gegen
welche Gesetzlichen Bestimmungen du mit deinem Posting verstossen hast.

IANAL, aber selbst diese Grundlagen hab ich im Studium gelernt
(Fach: Datenschutz, Studiengang Informatik)

Soviel dazu, nun zu meinen download versuchen:

0:fm:~> w3m -dump_head \
http://www.schellong.com/de/cgi/get.cgi?0.132:..%2fbin%2fbsh_lx.bin
HTTP/1.1 200 OK
Date: Wed, 18 Jul 2001 13:37:26 GMT
Server: Apache/1.3.14 (Unix)
Connection: close
Content-Type: image/gif

0:fm:~> w3m -dump_source \
http://www.schellong.com/de/cgi/get.cgi?0.132:..%2fbin%2fbsh_lx.bin
GIF89aÚ9n\kįÝĻūKén―o .*.* GIMP!ų
[... Ein schwearzer-text-auf-gelbem-hintergrund-GIF mit dem Text:
ERROR...... - Daten muell gesnippt...]
Xj:'ķDĐÓŌúĨújÅĘ7izXYčëH<ŧŨļS;Content-Type: application/octet-stream
Location: ../995463464_16903_bsh_lx.bin
Content-Length: 348132
From: webm...@schellong.com

Die IP des rechners, von dem aus ich dies versuchte laesst sich
per DNS abfrage aus meinem header ermitteln. (ist der selbe rechner)

Ausserdem konnte ich in deiner Liste die IP meines anderen rechners,
von dem aus ich es sowohl mit Opera als auch mit w3m, wget und sogar lynx
probierte, nicht finden.

-> Dein webserver scheint defekt zu sein.

(mal ganz davon abgesehen, das der w3c-validator bei deinen webpages[1]
mit einem Fatal error! unrecognized {{DOCTYPE}}; unable to check document
abbricht. HTML[2] ist das jedenfalls nicht was du da verbrochen hast.)

Mein linux (kernels 2.2 und 2.4 mit linker ld.so 1.9, 2.0 und 2.1) kann
jedenfalls keine GIF89a Images ausfuehren.

[1] http://www.schellong.com/de/
[2] http://validator.w3.org/check?uri=http%3A%2F%2Fwww.schellong.com
[3] naja, jedenfalls Net-Block zu Administrator, und bei winzig kleinen
netzen ist das halt mal oft die Person hinter der IP.

Helmut Schellong

unread,
Jul 18, 2001, 8:33:10 AM7/18/01
to

Ist das ein Link, oder gibt es dort gar keine
'sh' mehr, sondern nur 'bsh'?

#!/bin/sh
:
sollten stets funktionieren.

Außerdem: Es sollte eigentlich #!/u/bin/bsh heißen.

Helmut Schellong

unread,
Jul 18, 2001, 10:27:08 AM7/18/01
to
"Juergen P. Meier" wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
> >"Christian Garbs [Master Mitch]" wrote:
> >> Helmut Schellong <sche...@t-online.de> wrote:
> >>
> >> Soll das jetzt bedeuten, daß ich die bsh im Textmodus laufen
> >> lassen muß, damit ich den Disclaimer lesen kann oder wie darf ich mir
> >> das vorstellen?
> >
> >Ach was, ach was,
> >da sind nur 3-5 Zeichen, die man bei unpassendem
> >Zeichensatz selbst deuten muß - Umlaute halt.
>
> Wie war das noch mit der Portabilitaet ?

Erwartest Du, daß man in eine elementare Shell
alle Messages x-fach einbaut, sodaß stets alles paßt
bei jeglicher Charset-Wahl?

Also, dazu ist mir die Start-Botschaft zu unwichtig,
bzw. die paar Umlaute darin.

> >Und in dem Starttext steht im wesentlichen nur drin,
> >daß man die kostenlose bsh nicht für gewerbliche Zwecke
> >mit Gewinnerzielungsabsicht nutzen darf.
>
> uh, wer moechte keinen Gewinn erzielen?
> Zaehlst du "Lernen" dazu? (gewinn hier ist der Wissenszuwachs)

"nicht für gewerbliche Zwecke mit Gewinnerzielungsabsicht"

ist IMO eindeutig.
Wer beispw. 5000 DM Gewinn pro Jahr durch die bsh erzielt, kann auch
135 DM für die Vollversion ausgeben.

(Durch engagierte Verwendung der bsh kann jeder benutzende
Mitarbeiter Dutzende bis Hunderte Arbeitsstunden p.J. sparen...)

> Aber das ist nitpickerei.
> Du hast eine verkrueppelte nichtkomerzielle version deiner
> ansonsten komerziellen shell. Kannst du mit der Aussage leben?

Ja, damit kann ich -im Kern- leben.
(Über die Wortwahl schau ich mal hinweg)

> >Wie soll ich anders beweisen, daß Downloads bei mir
> >funktionieren?
>
> Musst du nicht. Das kann wohl jeder fuer sich ganz alleine rausfinden.
> (deinem counter taete es ganz gut, der duempelt bei 6 recht schmucklos rum)

Mit der '6' kann ich nix anfangen.
Meinst Du: bisher 6 bsh-downloads heute?

> Das war ich. Es geht immernoch nicht. (siehe unten)

Ooch, wie tust Du denn laden?

> >Streng genommen und idealerweise sollte man bei IPs
> >den rechten Abschnitt unkenntlich machen.
>
> Tja, mit einer Bourne shell und jedem sed ginge das so:
>
> #! /bin/sh
>
> sed <weblog.txt \
> 's/[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*/x.x.x.x/g' \
> >>newsposting.txt

Selbstverständlich kann man in der bsh auch alle externen
Programme aufrufen,
aber bsh-intern würde ich das beispw. so lösen:

set -B # \ statt %
#...
expr "$zeile" :zeile \
' \(\D\{1,3}\.\D\{1,3}\.\D\{1,3}\.\)\D\{1,3} ' ' \1--- '
#...

> >Aber, zu einer IP gehört ein Host(name), nicht eine Person.
> >Und wenn mal doch nur eine Person damit arbeitet, dann
> >weiß das der Leser des Hostnamens ohnehin nicht, und die,
> >die das wissen, kennen diese Person ohnehin.
>
> Bei Dial-up zugaenegen gehoert idR. zu einer IP zu einem Zeitpunkt
> (du hattest da ja netterweise auch zeitstempel drin) genau ein
> Dial-Up Kunde. Und bei T-online z.b. ist das meist eine Person.

Bei jeder Einwahl mit anderer IP,
deshalb kann man von Personenbezug kaum sprechen.

> RIPE hat die interessantere IP-zu-Personen[3] zuordnung in form einer
> Oeffentlich zugaenglichen Datenbank.
>
> >Die meisten IPs sind eh dynamisch zugeteilt.
>
> Und?

Da immer anders, nicht (fest) personenbezogen.

> >Meine IP lautet: 217.160.48.140
> >Jeder auf der Welt kann per whois und dieser IP
> >meine komplette Anschrift erfahren.
> >Das ist erheblich mehr als ein Hostname.
> >
> >Postanschriften fallen nicht unter den Datenschutz,
> >sie stehen in jedem Telefonbuch und sind öffentlich.
>
> Du hast das mit dem _bezogen_ bei "Personenbezogenen Daten" nicht verstanden.
> [x] Du moechtest einen Anwalt konsultieren, der dir Erklaert, gegen
> welche Gesetzlichen Bestimmungen du mit deinem Posting verstossen hast.

Wahrscheinlich habe ich gegen gar nichts verstoßen, weil
beispw. die gepostete Statistik viel zu kurz dazu ist.

> Soviel dazu, nun zu meinen download versuchen:
>
> 0:fm:~> w3m -dump_head \
> http://www.schellong.com/de/cgi/get.cgi?0.132:..%2fbin%2fbsh_lx.bin
> HTTP/1.1 200 OK
> Date: Wed, 18 Jul 2001 13:37:26 GMT
> Server: Apache/1.3.14 (Unix)
> Connection: close
> Content-Type: image/gif
>
> 0:fm:~> w3m -dump_source \
> http://www.schellong.com/de/cgi/get.cgi?0.132:..%2fbin%2fbsh_lx.bin

> GIF89aÚ9n\kçݨ¾Kén½o .*.* GIMP!ù


> [... Ein schwearzer-text-auf-gelbem-hintergrund-GIF mit dem Text:
> ERROR...... - Daten muell gesnippt...]

> Xj:'¶D©ÓÒú¥újÅÊ7izXYèëH<»×¸S;Content-Type: application/octet-stream


> Location: ../995463464_16903_bsh_lx.bin
> Content-Length: 348132
> From: webm...@schellong.com

Richtig, das ERROR-gif wird von icnt.cgi?... gesendet, wenn
HTTP_REFERER *nicht* ...schellong... enthält, also nicht normal
mit einem Browser auf den Link geklickt wurde!
Der Browser muß die Seiten-URL senden, von der Seite wo man
den Link anklickt.

Nichtinteraktive Download-Maschinen funktionieren hier
eben nicht.

get.cgi:
================================================
#!./bsh_lxs_cgi
#!/u/bin/bsh


set -f

deroot="$DOCUMENT_ROOT/de"
expr "$deroot" :deroot '/de/de' '/de'

arg="$QUERY_STRING"
ok=0
expr "$arg" :zn '^%([0-9]%{1,2%}%.[0-9]%{1,3%}%):.' && {
expr "$arg" :nam ':%(..*%)$' || nam=
expr "$nam" =:nam '%%2f' += '/'
expr "$nam" :dir '^%(.*/%)[^/]*$' || dir=
expr "$nam" :nam '%([^/]*%)$' || nam=
expr "$nam" :erw '%.%([^/.]%{1,%}%)$' || erw=
pre=XXXXXXXXXXXXXXXX
[ -s "$dir$pre$nam" ] && ok=1
}

[ ok -eq 0 ] && {
echo "Content-type: text/plain%n"
exit 0
}

HTTP_REFERER="$HTTP_REFERER::$dir$nam"
export HTTP_REFERER

expr "$REMOTE_ADDR" :: '127%.0%.0%.' || extern icnt.cgi $zn.i0

ifset erw || erw=bin
conv -l erw
ctyp=text/plain

case "$erw" in
shtml|html|htm|php3) ctyp=text/html ;;
txt|bsh|pl|text) ctyp=text/plain ;;
exe|bin|zip|gz|tar|drv|z|obj|o)
ctyp=application/octet-stream ;;
gif) ctyp=image/gif ;;
jpg|jpeg) ctyp=image/jpeg ;;
*) ctyp=text/plain ;;
esac

systime Time
cd "$deroot"
set +f
for lkn in *[0-9][0-9]_[0-9]*
do
expr "$lkn" :time '^%([0-9]%{8,10}%)_[0-9]%{1,}_' || continue
let "Time-time>4000" && remove "$lkn"
done
set -f
cd -

http_lkn="${Time}_$$_$nam"
lkn="$deroot/$http_lkn"
[ -e "$lkn" ] && remove "$lkn"
link "$dir$pre$nam" "$lkn"

clen=0
fstat -sv clen "$dir$pre$nam"

Out="Content-Type: $ctyp
Location: ../$http_lkn
Content-Length: $clen
From: webm...@schellong.com

"

catv Out

exit 0
================================================

> Die IP des rechners, von dem aus ich dies versuchte laesst sich
> per DNS abfrage aus meinem header ermitteln. (ist der selbe rechner)
>
> Ausserdem konnte ich in deiner Liste die IP meines anderen rechners,
> von dem aus ich es sowohl mit Opera als auch mit w3m, wget und sogar lynx
> probierte, nicht finden.

Wurde auch nicht registriert, bei ERROR-gif.

> -> Dein webserver scheint defekt zu sein.

Ich sagte schon mal: Sag das mal Schlund+Partner.

Ich glaub kaum, daß die antworten würden:
"Ja, lieber Herr, unsere WebServer sind defekt."

> (mal ganz davon abgesehen, das der w3c-validator bei deinen webpages[1]
> mit einem Fatal error! unrecognized {{DOCTYPE}}; unable to check document
> abbricht. HTML[2] ist das jedenfalls nicht was du da verbrochen hast.)

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; UnixWare 5 i386) [Netscape]">

Erzeugt vom Netscape-Composer.

Juergen P. Meier

unread,
Jul 18, 2001, 1:29:18 PM7/18/01
to
Helmut Schellong <sche...@t-online.de> wrote:
>Erwartest Du, daß man in eine elementare Shell
>alle Messages x-fach einbaut, sodaß stets alles paßt
>bei jeglicher Charset-Wahl?

nicht wirklich, zumindest nicht von deiner shell.

>Also, dazu ist mir die Start-Botschaft zu unwichtig,
>bzw. die paar Umlaute darin.
>

[snip]


>> (deinem counter taete es ganz gut, der duempelt bei 6 recht schmucklos rum)
>Mit der '6' kann ich nix anfangen.
>Meinst Du: bisher 6 bsh-downloads heute?

achso, ich meinte die beliebtheitsskala.

>> Das war ich. Es geht immernoch nicht. (siehe unten)
>
>Ooch, wie tust Du denn laden?

Mit einem Browser von deiner Homepage aus, Referer: header werden
korrekt uebermittelt.

>> Du hast das mit dem _bezogen_ bei "Personenbezogenen Daten" nicht verstanden.
>> [x] Du moechtest einen Anwalt konsultieren, der dir Erklaert, gegen
>> welche Gesetzlichen Bestimmungen du mit deinem Posting verstossen hast.
>
>Wahrscheinlich habe ich gegen gar nichts verstoßen, weil
>beispw. die gepostete Statistik viel zu kurz dazu ist.

Du solltest wirklich mit einem Rechtsgelehrten sprechen, der wird dir
einiges erklaeren, das du ganz offensichtlich noch nicht weisst.
Bitte fasse das als gut gemeinten Rat auf, nicht als kritik!

>> Soviel dazu, nun zu meinen download versuchen:
>

>Richtig, das ERROR-gif wird von icnt.cgi?... gesendet, wenn
>HTTP_REFERER *nicht* ...schellong... enthält, also nicht normal
>mit einem Browser auf den Link geklickt wurde!
>Der Browser muß die Seiten-URL senden, von der Seite wo man
>den Link anklickt.
>
>Nichtinteraktive Download-Maschinen funktionieren hier
>eben nicht.

Dann solltest du dringenst dein cgi-script reparieren, denn auch mit korrektem
Referer: eintrag geht es nicht:

[zeilenumbrueche manuell eingefuegt:]

$ wget --header="Referer: http://www.schellong.com/index.html" \
http://www.schellong.com/de/cgi/get.cgi?0.132:..%2fbin%2fbsh_lx.bin
--19:07:54--
http://www.schellong.com:80/de/cgi/get.cgi?0.132%3A../bin/bsh_lx.bin
=> `bsh_lx.bin.2'
Connecting to www.schellong.com:80... connected!
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/plain]

0K ->

19:07:54 (0.00 B/s) - `bsh_lx.bin' saved [0]

Null bytes.
Sehr minimalistisch, diese shell.

Im netzwerkdump sieht das (vom windows-browser aus) so aus:
[der GET manuell umgebrochen fuers posting]

GET http://www.schellong.com/de/cgi/get.cgi?0.131:
..%2fbin%2fbsh_freebsd.bin HTTP/1.0
User-Agent: Opera/5.10 (Windows 98; U) [en]
Host: www.schellong.com
Accept: text/html, image/png, image/jpeg, image/gif, image/x-xbitmap, */*
Accept-Language: en,de
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://www.schellong.com/de/
Proxy-Connection: Keep-Alive

HTTP/1.0 200 OK
Date: Wed, 18 Jul 2001 17:21:49 GMT
Server: Apache/1.3.14 (Unix)
Content-Type: image/gif
X-Cache: MISS from localhost
X-Cache-Lookup: MISS from localhost:3128
Proxy-Connection: close

GIF89a
[.....]
׸SSContent-Type: application/octet-stream
Location: ../995476909_10380_bsh_freebsd.bin
Content-Length: 222252
From: webm...@schellong.com

Das referer-ignorieren und die tatsache, das du hinter dem GIF noch meta-info's
ueber die datei selbst leakst, laesst mich vermuten, das dein cgi-script einfach
nur fehlerhaft ist.

[cgi]

>> Die IP des rechners, von dem aus ich dies versuchte laesst sich
>> per DNS abfrage aus meinem header ermitteln. (ist der selbe rechner)
>>
>> Ausserdem konnte ich in deiner Liste die IP meines anderen rechners,
>> von dem aus ich es sowohl mit Opera als auch mit w3m, wget und sogar lynx
>> probierte, nicht finden.
>
>Wurde auch nicht registriert, bei ERROR-gif.

Aha, dich interessieren Fehler wohl nicht.

>> -> Dein webserver scheint defekt zu sein.
>
>Ich sagte schon mal: Sag das mal Schlund+Partner.

Sag _du_ das bitte _deinem_ webhoster.
Ich bin nicht Kunde bei denen. (gottseidank)

>Ich glaub kaum, daß die antworten würden:
>"Ja, lieber Herr, unsere WebServer sind defekt."

Wohl kaum, deren Antwort duerfte wohl in ettwa laugen:
"Fuer Programmierfehler unserer Kunden koennen Wir keine Verantwortung
uebernehmen." - womit sie ausnahmsweise mal Recht haetten.

>> (mal ganz davon abgesehen, das der w3c-validator bei deinen webpages[1]
>> mit einem Fatal error! unrecognized {{DOCTYPE}}; unable to check document
>> abbricht. HTML[2] ist das jedenfalls nicht was du da verbrochen hast.)
>
> <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
> <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; UnixWare 5 i386) [Netscape]">
>
>Erzeugt vom Netscape-Composer.

Wer hat behauptet, das Netscape Composer HTML-Code generieren koennte ?

Sven Mascheck

unread,
Jul 18, 2001, 1:48:44 PM7/18/01
to
Helmut Schellong <sche...@t-online.de> wrote:

>> [ AIX 4.3, Irix 6.5 /usr/bin/bsh, Bourne shell ]

> Ist das ein Link, oder gibt es dort gar keine
> 'sh' mehr, sondern nur 'bsh'?

Es ist (direkt) die originale Bourne Shell, da [/usr]/bin/sh dort
eigentlich eine ksh ist (soft/hardlink) (und damit im besten Fall
eine POSIX- und keine Bourne Shell).

> Außerdem: Es sollte eigentlich #!/u/bin/bsh heißen.

Wenn man sie irgendwoanders hin installierte, wäre es ja egal, wie sie hieße,
also der Pfad nicht garantiert (sowieso nie der Fall), also liegt es durchaus
nahe, »bsh skript« aufzurufen, worauf sich Christians Bemerkung wohl bezog.

Gunnar Ritter

unread,
Jul 18, 2001, 3:42:16 PM7/18/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> Erwartest Du, daß man in eine elementare Shell
> alle Messages x-fach einbaut, sodaß stets alles paßt
> bei jeglicher Charset-Wahl?

Siehe setlocale(3), catgets(3), gettext(3), iconv(3). Wenn so etwas
nicht zur Verfügung steht, nutzt jeder nichtprovinzielle Programmierer
Englisch und ausschließlich US-ASCII.

> (Durch engagierte Verwendung der bsh kann jeder benutzende
> Mitarbeiter Dutzende bis Hunderte Arbeitsstunden p.J. sparen...)

Wenn Du diese Eigenwerbung jetzt gefälligst endlich einstellen
würdest?

Grüße,
Gunnar

Helmut Schellong

unread,
Jul 18, 2001, 3:18:38 PM7/18/01
to
"Juergen P. Meier" wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> >> Das war ich. Es geht immernoch nicht. (siehe unten)
> >
> >Ooch, wie tust Du denn laden?
>
> Mit einem Browser von deiner Homepage aus, Referer: header werden
> korrekt uebermittelt.
>
> >> Soviel dazu, nun zu meinen download versuchen:
> >
> >Richtig, das ERROR-gif wird von icnt.cgi?... gesendet, wenn
> >HTTP_REFERER *nicht* ...schellong... enthält, also nicht normal
> >mit einem Browser auf den Link geklickt wurde!
> >Der Browser muß die Seiten-URL senden, von der Seite wo man
> >den Link anklickt.
> >
> >Nichtinteraktive Download-Maschinen funktionieren hier
> >eben nicht.
>
> Dann solltest du dringenst dein cgi-script reparieren, denn auch mit korrektem
> Referer: eintrag geht es nicht:
> ..........
> ueber die datei selbst leakst, laesst mich vermuten, das dein cgi-script einfach
> nur fehlerhaft ist.

Nein, ist es nicht.

Ich kenne jetzt Deinen Download-Fehler.
Ich sagte doch, Du sollst normal im Browser auf den Link klicken.
Das hast Du nicht getan!
Du mußt mit der *rechten* Maustaste gearbeitet haben!
In diesem Fall ist die Variable HTTP_REFERER *undefiniert*!
Ich weiß genau, daß man dann eine Mischung aus dem
ERROR-gif und dem gewollten Download-Objekt erhält.

Mit der linken Maustaste wird auch der Original-Location-Name
angeboten, mit rechts nur der Script-Name.

Ich habe aber jetzt einen Dummy-Mechanismus eingebaut, für den Fall,
daß HTTP_REFERER undefiniert oder leer ist.
Das finde ich zwar nicht ideal, aber es gibt -wie ich sehe-
Leute, die über Tage hinweg nicht darauf kommen, hier mal
die normale, linke Maustaste einzusetzen, obwohl es mit
rechts nicht geht, nicht geht, .......

> >> (mal ganz davon abgesehen, das der w3c-validator bei deinen webpages[1]
> >> mit einem Fatal error! unrecognized {{DOCTYPE}}; unable to check document
> >> abbricht. HTML[2] ist das jedenfalls nicht was du da verbrochen hast.)
> >
> > <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
> > <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; UnixWare 5 i386) [Netscape]">
> >
> >Erzeugt vom Netscape-Composer.
>
> Wer hat behauptet, das Netscape Composer HTML-Code generieren koennte ?

Das ist aber sehr übertrieben.

Wenn ich w3c 0 Fehler anstreben wollte, müßte ich alle
HTML-Dateien manuell per gvim-Texteditor produzieren!
Das habe ich schon vor langer Zeit aufgegeben.

Helmut Schellong

unread,
Jul 18, 2001, 3:20:38 PM7/18/01
to
Sven Mascheck wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> >> [ AIX 4.3, Irix 6.5 /usr/bin/bsh, Bourne shell ]
>
> > Ist das ein Link, oder gibt es dort gar keine
> > 'sh' mehr, sondern nur 'bsh'?
>
> Es ist (direkt) die originale Bourne Shell, da [/usr]/bin/sh dort
> eigentlich eine ksh ist (soft/hardlink) (und damit im besten Fall
> eine POSIX- und keine Bourne Shell).

Ich finde diese Pfadvergaben aber seehhr eigenwillig.
Solch ein Unix-System hab ich noch nicht gesehen, obwohl ich
nicht wenige kenne.

Christian Garbs [Master Mitch]

unread,
Jul 18, 2001, 5:42:56 PM7/18/01
to
Helmut Schellong <sche...@t-online.de> wrote:

[Einiges geschnippelt, worauf ich keinen Bezug nehme, aber ich habe
jetzt icht jede Stelle extra markiert.]

>> Wie war das noch mit der Portabilitaet ?

> Erwartest Du, daß man in eine elementare Shell alle Messages x-fach
> einbaut, sodaß stets alles paßt bei jeglicher Charset-Wahl?

Jein. In der kompilierten Shell nicht. Aber wenn im Quellcode alle
Charsetz drinnen sind und er sich beim Kompilieren die für den
jeweiligen Rechner passende raussucht, dann wäre das was feines.

Setzt natürlich die Verfügbarkeit des Quellcodes voraus.
Oder Du musst wirklich Unmengen von Binärversionen für verschiedene
Rechnerarchitekturen, Betriebssysteme und Zeichensätze parat halten.

> Also, dazu ist mir die Start-Botschaft zu unwichtig, bzw. die paar
> Umlaute darin.

Wenn Sie Dir wirklich so unwichtig ist, dann nimm sie doch raus. Ist
doch Dein Programm, oder? Da kannst Du mit machen, was Du willst.

>> Soviel dazu, nun zu meinen download versuchen:
>>
>> 0:fm:~> w3m -dump_head \
>> http://www.schellong.com/de/cgi/get.cgi?0.132:..%2fbin%2fbsh_lx.bin
>> HTTP/1.1 200 OK
>> Date: Wed, 18 Jul 2001 13:37:26 GMT
>> Server: Apache/1.3.14 (Unix)
>> Connection: close
>> Content-Type: image/gif

> Richtig, das ERROR-gif wird von icnt.cgi?... gesendet, wenn


> HTTP_REFERER *nicht* ...schellong... enthält, also nicht normal
> mit einem Browser auf den Link geklickt wurde!
> Der Browser muß die Seiten-URL senden, von der Seite wo man
> den Link anklickt.

> Nichtinteraktive Download-Maschinen funktionieren hier
> eben nicht.

Ähem, wenn man die richtigen nimmt, dann geht alles.
wget hat eine -referer=xxx Option.

[ca. 50 Zeilen Shellskript geschnippt.]

Ich habe es gerade mal probiert, mit Angabe eines http-Referers und
der oben genannte Link geht trotzdem nicht:

wget -s --referer=http://www.schellong.com \
http://www.schellong.com/de/cgi/get.cgi?0.132:..%2fbin%2fbsh_lx.bin

Das ergibt folgendes:

HTTP/1.1 200 OK
Date: Wed, 18 Jul 2001 21:33:47 GMT


Server: Apache/1.3.14 (Unix)
Connection: close

Content-Type: text/plain

Langsam verstehe ich, was mit nicht konformen Fehlermeldungen gemeint
ist. Muss da eventuell noch mehr als nur "schellong" im Referer
vorkommen?

Gruß,
Christian
--
....Christian.Garbs.....................................http://www.cgarbs.de

Es gibt nur ein Programm, in dem sich Microsoft keine
Abstürze erlauben kann: Solitär

Helmut Schellong

unread,
Jul 18, 2001, 5:20:01 PM7/18/01
to
Gunnar Ritter wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> > Erwartest Du, daß man in eine elementare Shell
> > alle Messages x-fach einbaut, sodaß stets alles paßt
> > bei jeglicher Charset-Wahl?
>
> Siehe setlocale(3), catgets(3), gettext(3), iconv(3). Wenn so etwas
> nicht zur Verfügung steht, nutzt jeder nichtprovinzielle Programmierer
> Englisch und ausschließlich US-ASCII.

Wenn Du mal eine Shell programmieren solltest,
für BS von EmbeddedDOS bis hin zu allen Unix-Varianten,
dann wirst Du auch Prioritäten setzen und Kompromisse
machen...

Beispiel:
(Ein Besucher meiner deutschsprachigen Homepage)
======================================================
Warum muß in so tollen Beschreibungen wie der von Ihnen immer
mit Fremdwörtern rumgeschmissen werden, die kein deutscher Normalbürger
versteht? Das ganze muß doch auch in einer Art beschrieben werden können,
die auch ein "Laie" versteht. Auf gut deutsch: Solche Schlaumeier wie sie
regen mich auf!
======================================================

Also: immer über den Tellerrand hinausschauen!

Helmut Schellong

unread,
Jul 18, 2001, 5:59:20 PM7/18/01
to
"Christian Garbs [Master Mitch]" wrote:
> Helmut Schellong <sche...@t-online.de> wrote:
>
> > Erwartest Du, daß man in eine elementare Shell alle Messages x-fach
> > einbaut, sodaß stets alles paßt bei jeglicher Charset-Wahl?
>
> Jein. In der kompilierten Shell nicht. Aber wenn im Quellcode alle
> Charsetz drinnen sind und er sich beim Kompilieren die für den
> jeweiligen Rechner passende raussucht, dann wäre das was feines.
>
> Setzt natürlich die Verfügbarkeit des Quellcodes voraus.
> Oder Du musst wirklich Unmengen von Binärversionen für verschiedene
> Rechnerarchitekturen, Betriebssysteme und Zeichensätze parat halten.
>
> > Also, dazu ist mir die Start-Botschaft zu unwichtig, bzw. die paar
> > Umlaute darin.
>
> Wenn Sie Dir wirklich so unwichtig ist, dann nimm sie doch raus. Ist
> doch Dein Programm, oder? Da kannst Du mit machen, was Du willst.

Viele Fehlermeldungen gibt es auch noch.
Hin und wieder ist auch da ein PC8-Umlaut drin.
(siehe auch anderes Antwort-Posting)

> Ähem, wenn man die richtigen nimmt, dann geht alles.
> wget hat eine -referer=xxx Option.

Siehe auch anderes Antwort-Posting.

> Ich habe es gerade mal probiert, mit Angabe eines http-Referers und
> der oben genannte Link geht trotzdem nicht:
>
> wget -s --referer=http://www.schellong.com \
> http://www.schellong.com/de/cgi/get.cgi?0.132:..%2fbin%2fbsh_lx.bin

Dennoch kann es sein, daß hierbei HTTP_REFERER *nicht*
definiert ist!
Entscheidend ist das Environment, das der WebServer
an mein Script übergibt!

> Das ergibt folgendes:
>
> HTTP/1.1 200 OK
> Date: Wed, 18 Jul 2001 21:33:47 GMT
> Server: Apache/1.3.14 (Unix)
> Connection: close
> Content-Type: text/plain
>
> Langsam verstehe ich, was mit nicht konformen Fehlermeldungen gemeint
> ist. Muss da eventuell noch mehr als nur "schellong" im Referer
> vorkommen?

Nein, aber text/plain deutet darauf hin, daß das aktuelle
Verzeichnis nicht das Script-Dir war.
Das muß es aber sein wegen 0.132:../bin/bsh_lx.bin

Bei Browser-Download ist das IMMER der Fall.

==========================================


pre=XXXXXXXXXXXXXXXX
[ -s "$dir$pre$nam" ] && ok=1
}

[ ok -eq 0 ] && {
echo "Content-type: text/plain%n"

exit 0 # leere txt-Datei
}
==========================================

Stefan Wiens

unread,
Jul 18, 2001, 6:25:17 PM7/18/01
to
Helmut Schellong <sche...@t-online.de> writes:

> Ich kenne jetzt Deinen Download-Fehler.
> Ich sagte doch, Du sollst normal im Browser auf den Link klicken.
> Das hast Du nicht getan!
> Du mußt mit der *rechten* Maustaste gearbeitet haben!

Gerade in dieser NG sind solcherlei Klickanweisungen höchst
unterh^Wseltsam. Download geht mit "d" oder (hier) mit ".".

So kann man auch den Interessentenkreis reduzieren...

> Wenn ich w3c 0 Fehler anstreben wollte, müßte ich alle
> HTML-Dateien manuell per gvim-Texteditor produzieren!
> Das habe ich schon vor langer Zeit aufgegeben.

Bei z.B. http://www.debian.org/ scheint es auch anders zu gehen.

Grüße,
Stefan

Sven Mascheck

unread,
Jul 18, 2001, 6:28:33 PM7/18/01
to
Helmut Schellong <sche...@t-online.de> wrote:
> Sven Mascheck wrote:

>> [usr/bin/bsh] Es ist (direkt) die originale Bourne Shell,


>> da [/usr]/bin/sh dort eigentlich eine ksh ist

> Ich finde diese Pfadvergaben aber seehhr eigenwillig.

- [/usr/bin/] sh eine »ksh«?
POSIX.2 ist Dir aber schon ein Begriff? Füge also noch HP-UX 10/11
und (wenn mit POSIX PATH) Solaris und OSF1/V4 hinzu (»#!« oder spezielle
Pfadnamen werden dann ja nicht garantiert, ersteres »in der Praxis«
vermutlich aber noch benutzt).

- /usr/bin/bsh?
Nur die logische Konsequenz? Auf HP-UX ist das /usr/old/bin/sh,
also nicht besser oder schlechter.

>> [AIX 4.3, Irix 6.5]

> Solch ein Unix-System hab ich noch nicht gesehen, obwohl ich
> nicht wenige kenne.

(Pack noch Irix 6.4 hinzu, hier wurde der interessante Schnitt gemacht.
Und AIX 3.2.x, also vergleichsweise sogar seit Ewigkeiten)

Du hast also noch nicht so viel mit kommerziellen Unix-Systemen zu
tun gehabt. Hm, aber Free-, Open- und NetBSD haben (natürlich) auch
keine Bourne Shell also /bin/sh (in /usr/bin liegen dort durchaus
auch mal gar keine Shells) - sondern eine auf POSIX abzielende
Shell (in deren manpage das Wort »bourne« nicht einmal vorkommt);
bzw. eine pdksh.

Gunnar Ritter

unread,
Jul 18, 2001, 6:25:39 PM7/18/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> Gunnar Ritter wrote:
>> Helmut Schellong <sche...@t-online.de> wrote:
>> > Erwartest Du, daß man in eine elementare Shell
>> > alle Messages x-fach einbaut, sodaß stets alles paßt
>> > bei jeglicher Charset-Wahl?
>>
>> Siehe setlocale(3), catgets(3), gettext(3), iconv(3). Wenn so etwas
>> nicht zur Verfügung steht, nutzt jeder nichtprovinzielle Programmierer
>> Englisch und ausschließlich US-ASCII.
>
> Wenn Du mal eine Shell programmieren solltest,
> für BS von EmbeddedDOS bis hin zu allen Unix-Varianten,
> dann wirst Du auch Prioritäten setzen und Kompromisse
> machen...

Bei einem proprietären Kommerzprodukt kann man das, was andere bei
freier Software schaffen, erst recht in den Griff bekommen. Naja,
man könnte, wenn man ein kompetenter Programmierer wäre. Deine
Möchtegern-Shell übersteht ja nicht einmal einen Background-Prozeß,
ohne sich mit dem Prompt zu verheddern:

$ PS1='foo ' misc/995255284_11580_bsh_lx.bin

Dieses Programm ist kostenlos und darf nur gem
á einer
speziellen FREE_LIZENZ benutzt werden. (s. lizenz.txt)
Gewerblicher Einsatz dieser Software oder sonstige Verwendung
mit Gewinnerzielungsabsicht ist nicht gestattet.
Diese Software kann -anders als kostenpflichtige Vollversionen-
Leistungs- und/oder Ressourcen-Beschneidungen enthalten.
Alleiniger Eigent mer des Copyright ist der Autor.

bsh v3.21 LINUX, FreeLizenz, 11.Nov.2000
Copyright (C) Helmut Schellong, Bad Salzuflen
1# ls &
1116bsh_tmpf.100 bsh_tmpf.102 comp mail priv

2# bsh_tmpf.101 bsh_tmpf.103 docs misc src

2# ls
3# bsh_tmpf.100 bsh_tmpf.102 comp mail priv
bsh_tmpf.101 bsh_tmpf.103 docs misc src

3# uname -sr
4# Linux 2.4.6-xfs

Ignorieren von PS1 im Environment, Root-Prompt für non-root-User, vier
Tempfiles im aktuellen Verzeichnis und dieser &-Bug - so viel Scheiße
auf einen Haufen habe ich noch bei keiner Shell gesehen. Und dafür
135 DM? Ich glaube, ich spinne. Du darfst jetzt wieder zu Deinen
Sharewarekumpels zurückschleimen und mit ihnen Windows-User verarschen.
Bei Unixern bist Du mit solchen Scherzen falsch.

Grüße,
Gunnar

Helmut Schellong

unread,
Jul 18, 2001, 6:30:42 PM7/18/01
to
Sven Mascheck wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
> > Sven Mascheck wrote:
>
> Du hast also noch nicht so viel mit kommerziellen Unix-Systemen zu
> tun gehabt.

Richtig, nur mit einem älteren HP-UX und alten und neueren
Systemen von SantaCruzOperation.

Helmut Schellong

unread,
Jul 18, 2001, 6:30:19 PM7/18/01
to
Stefan Wiens wrote:
>
> Helmut Schellong <sche...@t-online.de> writes:
>
> > Ich kenne jetzt Deinen Download-Fehler.
> > Ich sagte doch, Du sollst normal im Browser auf den Link klicken.
> > Das hast Du nicht getan!
> > Du mußt mit der *rechten* Maustaste gearbeitet haben!
>
> Gerade in dieser NG sind solcherlei Klickanweisungen höchst
> unterh^Wseltsam. Download geht mit "d" oder (hier) mit ".".
>
> So kann man auch den Interessentenkreis reduzieren...

Wenn man keine statische Datei hat, sondern über ein
CGI-Script geht -aus verschiedenen Gründen gehen muß-,
dann ist der Download eben nicht ganz so universell möglich.
Das ist durchaus verbreitet.

Es ist ja kein Problem, die linke Maustaste zu verwenden.
(Aber die rechte geht jetzt ja auch...)

Helmut Schellong

unread,
Jul 18, 2001, 8:23:16 PM7/18/01
to
Gunnar Ritter wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
> > Gunnar Ritter wrote:
> >> Helmut Schellong <sche...@t-online.de> wrote:
> >>
> >> Siehe setlocale(3), catgets(3), gettext(3), iconv(3). Wenn so etwas
> >> nicht zur Verfügung steht, nutzt jeder nichtprovinzielle Programmierer
> >> Englisch und ausschließlich US-ASCII.
> >
> > Wenn Du mal eine Shell programmieren solltest,
> > für BS von EmbeddedDOS bis hin zu allen Unix-Varianten,
> > dann wirst Du auch Prioritäten setzen und Kompromisse
> > machen...
>
> Bei einem proprietären Kommerzprodukt kann man das, was andere bei
> freier Software schaffen, erst recht in den Griff bekommen. Naja,
> man könnte, wenn man ein kompetenter Programmierer wäre. Deine

Du bist ein lustiger Vogel, der nicht realisiert hat, daß ich
Tag für Tag in der Elektronik-Industrie bis zu 15 Stunden
arbeite.
bsh mache ich als Hobby, alle paar Monate, wenn ich Zeit habe.
Ich bin nur eine (Anzahl==1) Person.

> Möchtegern-Shell übersteht ja nicht einmal einen Background-Prozeß,
> ohne sich mit dem Prompt zu verheddern:
>

> Ignorieren von PS1 im Environment, Root-Prompt für non-root-User, vier
> Tempfiles im aktuellen Verzeichnis und dieser &-Bug - so viel Scheiße
> auf einen Haufen habe ich noch bei keiner Shell gesehen. Und dafür
> 135 DM? Ich glaube, ich spinne. Du darfst jetzt wieder zu Deinen
> Sharewarekumpels zurückschleimen und mit ihnen Windows-User verarschen.
> Bei Unixern bist Du mit solchen Scherzen falsch.


Es wundert mich nicht, daß Du (oberflächlich) prüfst,
ohne die Manuals vorher zu lesen.
Man darf nicht erwarten, daß bsh ganz genauso ist,
wie typische Unix-Shells.

PS1 im *Environment* ignoriere ich mit Absicht!
bsh soll gar nicht das Prompt von sh automatisch übernehmen.

Aber in .bshrc kann man PS1 setzen.
Ich verwende zur Zeit:
------------------------------------
ifset -E NOPS1 || {
[ "$TERM" == dtterm ] &&
PS1='print -nu2 "%e7%r%e[53C%e[40;36m"; prints su2-26- $PWD
print -nu2 "%e8%e[40;37m$:%e[1m#%e[0m "'
[ "$TERM" != dtterm ] &&
PS1='print -nu2 "%e[s%r%e[53C%e[40;36m"; prints su2-26- $PWD
print -nu2 "%e[u%e[40;37m$:%e[1m#%e[0m "'
}
------------------------------------

Die Tempfiles sind bsh-obligatorisch, wegen DOS
und aus anderen durchaus guten Gründen.
Aber, man kann
BSHTEMP
TEMP
TMP
TEMPDIR
TMPDIR
setzen.
Du hast offenbar gar nix davon gesetzt.
Dann gilt '.' als DFLT.

Der &-Bug ist kein Bug, aber dennoch gebe ich Dir
in diesem Punkt Recht, daß das Prompt-Verhalten
bei interaktivem Betrieb noch nicht ideal ist.

Die BG-Einrichtung ist ganz frisch hinzugefügt
und hat (noch) keine Automatismen eingebaut,
und das Verhalten ist unter verschiedenen Unixen/BS
durchaus unterschiedlich.
Unter NT+W9X funktioniert das z.B. übrigens
ohne Zusatzprompt.
Es ist nicht so einfach, jedes BS in
perfekter Weise (sofort) zu bedienen.

Wenn man xyz & oder fork "..." startet, ist alles
mit dem Prompt in Ordnung, *solange* der BG-Prozeß
läuft. Danach muß man wait ausführen, um kein
überflüssiges Prompt zu erhalten.

Das heißt, ich müßte bei Gelegenheit wait mit
der Enter-Taste koppeln - bei interaktivem Betrieb.
So macht das z.B. die csh, die ich zur Zeit verwende.

Ich habe z.Zt. für diesen Zweck alias :=wait definiert.
Eigentlich auch kein Problem...

Gunnar Ritter

unread,
Jul 18, 2001, 9:40:45 PM7/18/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> Gunnar Ritter wrote:
>> Bei einem proprietären Kommerzprodukt kann man das, was andere bei
>> freier Software schaffen, erst recht in den Griff bekommen. Naja,
>> man könnte, wenn man ein kompetenter Programmierer wäre. Deine
>
> Du bist ein lustiger Vogel, der nicht realisiert hat, daß ich
> Tag für Tag in der Elektronik-Industrie bis zu 15 Stunden
> arbeite.
> bsh mache ich als Hobby, alle paar Monate, wenn ich Zeit habe.

Das ist mir egal. Wenn Du das Programm als freie Software mit Quellen
veröffentlichen würdest wie unter guten Unix-Nutzern üblich, hätte
niemand etwas böses gesagt, wir wären Dir alle zu Dank verpflichtet
und würden in freundlichem, lösungsorientierten Ton über Bug-Reports
diskutieren oder gar versuchen, mit Patches weiterzuhelfen. So aber ist
es Kommerzsoftware, und daran darf man Ansprüche stellen. In Deinem
Fall stehen 135 DM gegen 0 DM für die bewährte und standardkonforme
ksh93, ergibt ein Verhältnis von SIGFPE. Den folgenden Coredump mußt
Du jetzt eben fressen.

> PS1 im *Environment* ignoriere ich mit Absicht!
> bsh soll gar nicht das Prompt von sh automatisch übernehmen.

Dann solltest Du eine Variable mit anderem Namen verwenden. Der
Mischmasch aus scheinbarer Bourne-Shell-Sprache und derartigen
Verstößen gegen Tradition ebenso wie POSIX.2 ist übel. Entweder
entscheidest Du Dich für Kompatibilität mit allen Konsequenzen,
oder Du entscheidest Dich konsequent dagegen. Mit zsh-mäßigem
Durcheinander ist bei ernsthaften Programmierern kein Blumentopf
zu gewinnen.

> Die Tempfiles sind bsh-obligatorisch, wegen DOS
> und aus anderen durchaus guten Gründen.

Gegen Tempfiles im allgemeinen habe ich nichts.

> Aber, man kann
> BSHTEMP
> TEMP
> TMP
> TEMPDIR
> TMPDIR
> setzen.
> Du hast offenbar gar nix davon gesetzt.
> Dann gilt '.' als DFLT.

Auch als Hobbyprogrammierer kann man sich mühelos an Unix-Konventionen
halten, und die heißen ganz klar »/tmp« oder »/usr/tmp/« bzw. »/var/tmp«
als Default und TMPDIR als Override.

> Der &-Bug ist kein Bug, aber dennoch gebe ich Dir
> in diesem Punkt Recht, daß das Prompt-Verhalten

> bei interaktivem Betrieb noch nicht ideal ist. [...]


> Wenn man xyz & oder fork "..." startet, ist alles
> mit dem Prompt in Ordnung, *solange* der BG-Prozeß
> läuft. Danach muß man wait ausführen, um kein
> überflüssiges Prompt zu erhalten.

Lächerlich. Wenn Du solche Fehler kennst, warum behebst Du sie nicht
gleich, sondern lamentierst uns irgendeinen Kram über Interna von
Closed-Source vor? Jede vernünftig implementierte Shell führt waitpid()
mit WNOHANG vor dem Prompt aus oder reagiert noch besser auf SIGCHLD,
wenn Jobs am Laufen sind; allein um Zombies zu vermeiden. Ach, und die
treten bei Dir ja dementsprechend auch auf.

> [...] Es ist nicht so einfach, jedes BS in perfekter Weise (sofort)
> zu bedienen.

Und das hören wir von jemandem, der gerne 135 DM von uns für sein
Produkt haben möchte. Findest Du das nicht etwas dreist?

Grüße,
Gunnar

Helmut Schellong

unread,
Jul 19, 2001, 7:32:47 AM7/19/01
to
Gunnar Ritter wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> > Gunnar Ritter wrote:
> >> Bei einem proprietären Kommerzprodukt kann man das, was andere bei
> >> freier Software schaffen, erst recht in den Griff bekommen. Naja,
> >> man könnte, wenn man ein kompetenter Programmierer wäre. Deine
> >
> > Du bist ein lustiger Vogel, der nicht realisiert hat, daß ich
> > Tag für Tag in der Elektronik-Industrie bis zu 15 Stunden
> > arbeite.
> > bsh mache ich als Hobby, alle paar Monate, wenn ich Zeit habe.
>
> Das ist mir egal. Wenn Du das Programm als freie Software mit Quellen
> veröffentlichen würdest wie unter guten Unix-Nutzern üblich, hätte
> niemand etwas böses gesagt, wir wären Dir alle zu Dank verpflichtet
> und würden in freundlichem, lösungsorientierten Ton über Bug-Reports
> diskutieren oder gar versuchen, mit Patches weiterzuhelfen. So aber ist
> es Kommerzsoftware, und daran darf man Ansprüche stellen. In Deinem
> Fall stehen 135 DM gegen 0 DM für die bewährte und standardkonforme
> ksh93, ergibt ein Verhältnis von SIGFPE. Den folgenden Coredump mußt
> Du jetzt eben fressen.

Es gibt Gründe, warum ich das bisher nicht getan habe:
Die bsh ist extrem schnell, hat etwa 100 interne Kommandos,
die nicht von Pappe sind, und ist dennoch verhältnismäßig
extrem klein, sodaß sie auch unter EmbeddedDOS läuft, bei
200 kB RAM - mit den 100 Kommandos.
Wenn man 1 DM pro Kommando nimmt und 35 DM für die eingebaute
Programmiersprache, so ist das sehr wenig.
Man bedenke: für ein 'grep' wurden bereits 10 SharewareDM
genommen...

> > PS1 im *Environment* ignoriere ich mit Absicht!
> > bsh soll gar nicht das Prompt von sh automatisch übernehmen.
>
> Dann solltest Du eine Variable mit anderem Namen verwenden. Der
> Mischmasch aus scheinbarer Bourne-Shell-Sprache und derartigen
> Verstößen gegen Tradition ebenso wie POSIX.2 ist übel. Entweder
> entscheidest Du Dich für Kompatibilität mit allen Konsequenzen,
> oder Du entscheidest Dich konsequent dagegen. Mit zsh-mäßigem
> Durcheinander ist bei ernsthaften Programmierern kein Blumentopf
> zu gewinnen.

Du hast übersehen, daß bsh den Inhalt von PS1 interpretiert,
als würde man 'eval' verwenden!
Ich kann nicht einfach den env-PS1-Inhalt übernehmen.

Man kann in .bshrc
unset PS1
PS1="print -nu2 $PS1"
# ^^^^ ist aus env.
verwenden, und schon hat man das sh-Prompt.

Du vergißt, daß die bsh zuerst für DOS geschaffen wurde.
Wie ich schon sagte, z.B. & fork kill wait sind erst vor
wenigen Monaten eingebaut worden...

Wenn ich bsh von Anfang an für Unix geplant hätte, würde sie
jetzt anders aussehen - aber unter Unix gabs ja schon immer
leistungsfähige Shells...

> > Die Tempfiles sind bsh-obligatorisch, wegen DOS
> > und aus anderen durchaus guten Gründen.
>
> Gegen Tempfiles im allgemeinen habe ich nichts.
>
> > Aber, man kann
> > BSHTEMP
> > TEMP
> > TMP
> > TEMPDIR
> > TMPDIR
> > setzen.
> > Du hast offenbar gar nix davon gesetzt.
> > Dann gilt '.' als DFLT.
>
> Auch als Hobbyprogrammierer kann man sich mühelos an Unix-Konventionen
> halten, und die heißen ganz klar »/tmp« oder »/usr/tmp/« bzw. »/var/tmp«
> als Default und TMPDIR als Override.

Ja, aber nicht mehr mühelos, wenn bsh auch unter DOS/Win
laufen soll.
'.' bzw. getcwd() ist insgesamt die sicherste und
gleichzeitig einfachste Methode, weil '.' IMMER
UND ÜBERALL existiert.
'/var/tmp' ist übrigens nicht immer vorhanden.

> > Der &-Bug ist kein Bug, aber dennoch gebe ich Dir
> > in diesem Punkt Recht, daß das Prompt-Verhalten
> > bei interaktivem Betrieb noch nicht ideal ist. [...]
> > Wenn man xyz & oder fork "..." startet, ist alles
> > mit dem Prompt in Ordnung, *solange* der BG-Prozeß
> > läuft. Danach muß man wait ausführen, um kein
> > überflüssiges Prompt zu erhalten.
>
> Lächerlich. Wenn Du solche Fehler kennst, warum behebst Du sie nicht
> gleich,

1.) Aus Zeitgründen
2.) Weil bisher *niemand* auch nur ansatzweise eine
Unix-bsh-Vollversion haben wollte.
Mit gewaltigem Abstand wollen die Leute
hauptsächlich bsh32.exe für Win9X/NT haben.
3.) Weil ich mit diesem Verhalten problemlos
klarkomme, und zudem BG primär in Scripten
mit wait verwende.

> sondern lamentierst uns irgendeinen Kram über Interna von
> Closed-Source vor? Jede vernünftig implementierte Shell führt waitpid()
> mit WNOHANG vor dem Prompt aus oder reagiert noch besser auf SIGCHLD,
> wenn Jobs am Laufen sind; allein um Zombies zu vermeiden. Ach, und die
> treten bei Dir ja dementsprechend auch auf.

Ohne wait durchaus.

SIGCHLD-Catch ist insgesamt sehr problematisch.
waitpid() vor dem Prompt gefällt mir besser.

> > [...] Es ist nicht so einfach, jedes BS in perfekter Weise (sofort)
> > zu bedienen.
>
> Und das hören wir von jemandem, der gerne 135 DM von uns für sein
> Produkt haben möchte. Findest Du das nicht etwas dreist?

Siehe oben.

Du solltest davon ausgehen, daß vor dem Verkauf einer
Unix-Vollversion ich diese Variante überarbeiten würde.
Bisher hast Du kostenlose Versionen probiert...

Außerdem sollte man ein Produkt stets in seiner
Gesamtheit beurteilen, um am Schluß zu einer
Positiv/Negativ-Punkte-Liste zu kommen.

Juergen Ilse

unread,
Jul 19, 2001, 11:27:35 AM7/19/01
to
Hallo,

Helmut Schellong <sche...@t-online.de> wrote:
> Sven Mascheck wrote:
>>
>> Helmut Schellong <sche...@t-online.de> wrote:
>>
>> >> [ AIX 4.3, Irix 6.5 /usr/bin/bsh, Bourne shell ]
>>
>> > Ist das ein Link, oder gibt es dort gar keine
>> > 'sh' mehr, sondern nur 'bsh'?
>>
>> Es ist (direkt) die originale Bourne Shell, da [/usr]/bin/sh dort
>> eigentlich eine ksh ist (soft/hardlink) (und damit im besten Fall
>> eine POSIX- und keine Bourne Shell).

> Ich finde diese Pfadvergaben aber seehhr eigenwillig.
> Solch ein Unix-System hab ich noch nicht gesehen, obwohl ich
> nicht wenige kenne.

AFAIK ist das bei Solaris 2.x auch nicht anders (und vermutlich desgleichen
auch bei Solaris 7 und Solaris 8).

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

Eckhard Sebastian Maass

unread,
Jul 19, 2001, 11:39:38 AM7/19/01
to
* Helmut Schellong <sche...@t-online.de>:

> '.' bzw. getcwd() ist insgesamt die sicherste und
> gleichzeitig einfachste Methode, weil '.' IMMER
> UND ÜBERALL existiert.

Uhm. '.' ist doch das aktuelle Verzeichznis, oder steh ich auf dem
Schlauch? Du kannst dir doch eigentlich gar nicht sicher sein, daß du in
'.' irgendwelche Temp-Files anlegen kannst? Was würde denn passieren,
wenn das nicht geht? /tmp/ soll / muß per Kovention ja world-writable
sein.

CU,
SEcki
--
God is Dead. -- Nietzsche
Nietzsche is Dead. -- God
Nietzsche is God. -- The Dead

Gunnar Ritter

unread,
Jul 19, 2001, 12:50:51 PM7/19/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> Gunnar Ritter wrote:
>> Helmut Schellong <sche...@t-online.de> wrote:
>> > Gunnar Ritter wrote:
>> es Kommerzsoftware, und daran darf man Ansprüche stellen. In Deinem
>> Fall stehen 135 DM gegen 0 DM für die bewährte und standardkonforme
>> ksh93, ergibt ein Verhältnis von SIGFPE. Den folgenden Coredump mußt
>> Du jetzt eben fressen.
>
> Es gibt Gründe, warum ich das bisher nicht getan habe:
> Die bsh ist extrem schnell, hat etwa 100 interne Kommandos,
> die nicht von Pappe sind, und ist dennoch verhältnismäßig
> extrem klein, sodaß sie auch unter EmbeddedDOS läuft, bei
> 200 kB RAM - mit den 100 Kommandos.

Mehrwert im Vergleich zur ksh93 mit dem dazugehörigen POSIX.2-konformen
AT&T-Toolchest? Lachhaft. Mehrwert im Vergleich zur bash mit dem
GNU-Toolchest? Albern. Provinzdreck ist das, nichts weiter, und der
egoistische Geiz, den Du hier zur Schau trägst, widert uns an. Wir
schenken und bekommen reichlichst zurück.

> Man bedenke: für ein 'grep' wurden bereits 10 SharewareDM
> genommen...

Wen interessiert das schon? Wer so etwas kauft, ist selbst schuld.

>> > PS1 im *Environment* ignoriere ich mit Absicht!
>> > bsh soll gar nicht das Prompt von sh automatisch übernehmen.
>>
>> Dann solltest Du eine Variable mit anderem Namen verwenden. Der
>> Mischmasch aus scheinbarer Bourne-Shell-Sprache und derartigen
>> Verstößen gegen Tradition ebenso wie POSIX.2 ist übel. Entweder
>> entscheidest Du Dich für Kompatibilität mit allen Konsequenzen,
>> oder Du entscheidest Dich konsequent dagegen. Mit zsh-mäßigem
>> Durcheinander ist bei ernsthaften Programmierern kein Blumentopf
>> zu gewinnen.
>
> Du hast übersehen, daß bsh den Inhalt von PS1 interpretiert,
> als würde man 'eval' verwenden!

Dann solltest Du erst recht einen anderen Variablennamen verwenden,
wie ich schon sagte. Gründe siehe oben.

>> > Aber, man kann
>> > BSHTEMP
>> > TEMP
>> > TMP
>> > TEMPDIR
>> > TMPDIR
>> > setzen.
>> > Du hast offenbar gar nix davon gesetzt.
>> > Dann gilt '.' als DFLT.
>>
>> Auch als Hobbyprogrammierer kann man sich mühelos an Unix-Konventionen
>> halten, und die heißen ganz klar »/tmp« oder »/usr/tmp/« bzw. »/var/tmp«
>> als Default und TMPDIR als Override.
>
> Ja, aber nicht mehr mühelos, wenn bsh auch unter DOS/Win
> laufen soll.

#ifdef unix

> '.' bzw. getcwd() ist insgesamt die sicherste und
> gleichzeitig einfachste Methode, weil '.' IMMER
> UND ÜBERALL existiert.

Aber nicht immer schreibbar ist, u.U. auf NFS liegt &c. Außerdem
stören die Tempfiles, erst recht wenn sie mal liegenbleiben.

> '/var/tmp' ist übrigens nicht immer vorhanden.

access(2), stat(2)

Besuch mal einen Kurs für Programmieranfänger.

Auf die Gefahr, mich zu wiederholen:

Wer 135 DM für etwas haben will, kann sich weder durch Zeitmangel
noch durch persönliche Inkompetenz entschuldigen.

Grüße,
Gunnar

Joerg Plate

unread,
Jul 19, 2001, 3:14:58 PM7/19/01
to

> weil '.' IMMER UND ÜBERALL existiert.

/tmp/tmp > du .
du: `.': No such file or directory


(in einer anderen shell "rmdir /tmp/tmp" ist natürlich gemein...)
--
"I'm working on it." <http://www.psyche.cx/>

Helmut Schellong

unread,
Jul 19, 2001, 2:32:00 PM7/19/01
to
Gunnar Ritter wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> > Gunnar Ritter wrote:
> >> Helmut Schellong <sche...@t-online.de> wrote:
> >> > Gunnar Ritter wrote:
> >
> > Es gibt Gründe, warum ich das bisher nicht getan habe:
> > Die bsh ist extrem schnell, hat etwa 100 interne Kommandos,
> > die nicht von Pappe sind, und ist dennoch verhältnismäßig
> > extrem klein, sodaß sie auch unter EmbeddedDOS läuft, bei
> > 200 kB RAM - mit den 100 Kommandos.
>
> Mehrwert im Vergleich zur ksh93 mit dem dazugehörigen POSIX.2-konformen
> AT&T-Toolchest? Lachhaft. Mehrwert im Vergleich zur bash mit dem
> GNU-Toolchest?

Na ja, ich stoße mit anderen Shells als bsh jedenfalls häufig
an Grenzen, sodaß ich gezwungen bin, neben vielen externen
Programmen zusätzlich sogar mehrere Shells/perl einzusetzen.
Mit bsh passiert mir das fast gar nicht.
Die allein reicht für fast alles.
Außerdem ist sie etwa 15-fach schneller als bash,
was nicht ohne Bedeutung ist.

> Albern. Provinzdreck ist das, nichts weiter, und der
> egoistische Geiz, den Du hier zur Schau trägst, widert uns an. Wir
> schenken und bekommen reichlichst zurück.
>

> >> > PS1 im *Environment* ignoriere ich mit Absicht!
> >> > bsh soll gar nicht das Prompt von sh automatisch übernehmen.
> >>
> >> Dann solltest Du eine Variable mit anderem Namen verwenden. Der
> >> Mischmasch aus scheinbarer Bourne-Shell-Sprache und derartigen
> >> Verstößen gegen Tradition ebenso wie POSIX.2 ist übel. Entweder
> >> entscheidest Du Dich für Kompatibilität mit allen Konsequenzen,
> >> oder Du entscheidest Dich konsequent dagegen. Mit zsh-mäßigem
> >> Durcheinander ist bei ernsthaften Programmierern kein Blumentopf
> >> zu gewinnen.
> >
> > Du hast übersehen, daß bsh den Inhalt von PS1 interpretiert,
> > als würde man 'eval' verwenden!
>
> Dann solltest Du erst recht einen anderen Variablennamen verwenden,
> wie ich schon sagte. Gründe siehe oben.

Wieso 'erst recht'?
env-PS1 wird ja *nicht* gelesen.

> >> > Aber, man kann
> >> > BSHTEMP
> >> > TEMP
> >> > TMP
> >> > TEMPDIR
> >> > TMPDIR
> >> > setzen.
> >> > Du hast offenbar gar nix davon gesetzt.
> >> > Dann gilt '.' als DFLT.
> >>
> >> Auch als Hobbyprogrammierer kann man sich mühelos an Unix-Konventionen
> >> halten, und die heißen ganz klar »/tmp« oder »/usr/tmp/« bzw. »/var/tmp«
> >> als Default und TMPDIR als Override.
> >
> > Ja, aber nicht mehr mühelos, wenn bsh auch unter DOS/Win
> > laufen soll.
>
> #ifdef unix

Stell dir vor, sowas steht 500-fach in meinem Kode.
Ich kenne das.
Aber mit solch einer Zeile allein ist es nicht getan.

> > '.' bzw. getcwd() ist insgesamt die sicherste und
> > gleichzeitig einfachste Methode, weil '.' IMMER
> > UND ÜBERALL existiert.
>
> Aber nicht immer schreibbar ist, u.U. auf NFS liegt &c. Außerdem
> stören die Tempfiles, erst recht wenn sie mal liegenbleiben.

bsh läßt die nur liegen bei kill -9.
Auf dem Webserver, wo bsh seit einem Jahr läuft und
100000-fach gestartet wurde, habe ich mal 5-7 bsh_tmpf
entdeckt, fast alle mit size==0 - na und.

Z.B. bei mir ist /tmp ein memfs mit relativ geringer Größe.
Die bsh_tmpf *können* recht groß werden.
Folglich ist meine Entscheidung durchaus durchdacht.
Schließlich passiert ja gar nichts, wenn das Anlegen
wegen fehlender Permissions mal nicht gehen sollte.

Ist es denn so schwer, BSHTEMP zu setzen?

> > '/var/tmp' ist übrigens nicht immer vorhanden.
>
> access(2), stat(2)
>
> Besuch mal einen Kurs für Programmieranfänger.

Ich kenne diese Funktionen seit Jahrzehnten,
und sie werden auch in der bsh vielfach verwendet.

> Auf die Gefahr, mich zu wiederholen:
>
> Wer 135 DM für etwas haben will, kann sich weder durch Zeitmangel
> noch durch persönliche Inkompetenz entschuldigen.

Wieso stellst Du dieses Geld dauernd in den Vordergrund?
Die kostende bsh-Vollversion ist doch hier eine Nebensache,
ja im Grunde doch gar kein Thema hier.

Ich will mich auch gar nicht wegen der 135 DM entschuldigen;
denn ich habe davon nirgends geredet.

Helmut Schellong

unread,
Jul 19, 2001, 2:30:43 PM7/19/01
to
Eckhard Sebastian Maass wrote:
>
> * Helmut Schellong <sche...@t-online.de>:
> > '.' bzw. getcwd() ist insgesamt die sicherste und
> > gleichzeitig einfachste Methode, weil '.' IMMER
> > UND ÜBERALL existiert.
>
> Uhm. '.' ist doch das aktuelle Verzeichznis, oder steh ich auf dem
> Schlauch? Du kannst dir doch eigentlich gar nicht sicher sein, daß du in
> '.' irgendwelche Temp-Files anlegen kannst? Was würde denn passieren,
> wenn das nicht geht? /tmp/ soll / muß per Kovention ja world-writable
> sein.

Z.B. bei mir ist /tmp ein memfs mit relativ geringer Größe.


Die bsh_tmpf *können* recht groß werden.
Folglich ist meine Entscheidung durchaus durchdacht.
Schließlich passiert ja gar nichts, wenn das Anlegen
wegen fehlender Permissions mal nicht gehen sollte.

Ist es denn so schwer, BSHTEMP zu setzen?

--

Juergen Ilse

unread,
Jul 19, 2001, 3:32:52 PM7/19/01
to
Hallo,

Eckhard Sebastian Maass <Eckhar...@gmx.net> wrote:
> Uhm. '.' ist doch das aktuelle Verzeichznis, oder steh ich auf dem
> Schlauch?

Nein, bis hier sind deine Anmerkungen noch richtig ...

> Du kannst dir doch eigentlich gar nicht sicher sein, daß du in
> '.' irgendwelche Temp-Files anlegen kannst? Was würde denn passieren,
> wenn das nicht geht? /tmp/ soll / muß per Kovention ja world-writable
> sein.

... allerdings waere mir neu, dass / worldwriteable sein muss (bei mir
ist es nur fuer alle lesbar und executable und das scheint ja zu reichen).

Christian Weisgerber

unread,
Jul 19, 2001, 5:02:14 PM7/19/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> > >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.

Das ist irreführend und falsch.

FreeBSD hat zwei Konsoletreiber, syscons(4) und pcvt(4). Letzterer
emuliert ein VT220 und soll hier nicht weiter betrachtet werden.
Der Defaulttreiber, von dem oben wahrscheinlich die Rede ist, ist
syscons(4).

syscons startet mit dem Defaultzeichensatz der Grafikkarte, was in
der Tat durch die wundersame Rückwärtskompatibilitätz zum Ur-PC bis
heute IBM CP437 ist. Es stehen allerdings ladbare alternative
8-Bit-Zeichensätze zur Verfügung, ihre auch dauerhafte Aktivierung
ist trivial und kann auch schon bei der Installation eingerichtet
werden. Hierzulande setzt man sich das typischerweise auf ISO 8859-1.

Was Helmut aus seiner PC-Sicht als Verwendung von CP437-Grafikzeichen
versteht, ist eigentlich etwas ganz anderes. Schon das VT100 bot
einen »alternativen Zeichensatz« (DEC Special Graphics), kurz ACS,
dessen Zeichenvorrat parallel darstellbar war, und der eine Reihe
von Grafikzeichen und anderen Symbolen beinhaltet. Nun waren
DEC-Terminals in der Unix-Welt das Maß der Dinge, und dieser
Alternativzeichensatz ist auch in termcap(5) erfasst, und zwar mit
den Attributen as, ae, und ac. Anwendungen können darüber, falls
vorhanden, ACS-Zeichen verwenden, sei es direkt, oder mittels einer
Übersetzungstabelle, falls das Terminal entsprechende Zeichen auf
andere Weise anbietet. Auch curses(3) bietet Zugriff darauf.

Die Termcap-Einträge für syscons(4) machen dann auch ACS-Zeichen
verfügbar mittels Übersetzungstabellen, die je nach geladenem
Zeichensatz auf andere Codepunkte zeigen. cons25 verweist auf
äquivalente CP437-Zeichen, bei cons25l1 (ISO 8859-1) hat man die
Zeichen an den freien Positionen 0x80..0x9F untergebracht, und bei
cons25r (KOI8-R/U) liegen sie wieder woanders. Das ist der Grund,
warum man TERM passend zum geladenen Konsolezeichensatz einstellen
sollte.

Tatsächlich gibt es nun eine Reihe von Unix-Anwendungen, die ACS-
Zeichen für Rahmengrafiken verwenden, vergleichbar der entsprechenden
Verwendung von CP437-Zeichen in der PC-Welt. Unterstützt das Terminal
die entsprechenden DEC-Zeichen nicht, wird auf eine Ersatzdarstellung
mit dem ASCII-Zeichenvorrat zurückgegriffen, z.B. Rahmen mit + - |.

Helmuts »vielfältig verwendet« geht wahrscheinlich auf ein einziges
Programm zurück, nämlich das Installationswerkzeug sysinstall(8),
das auf der Formularbibliothek dialog(3) aufsetzt, die wie oben
beschrieben ihre Formularrahmen gestaltet.

Auch xterm(1) stellt ACS zur Verfügung, schließlich emuliert es ein
DEC VT220.

--
Christian "naddy" Weisgerber na...@mips.inka.de

Christian Weisgerber

unread,
Jul 19, 2001, 5:05:00 PM7/19/01
to
Juergen Ilse <jue...@ilse.asys-h.de> wrote:

> > /tmp/ soll / muß per Kovention ja world-writable sein.
>
> ... allerdings waere mir neu, dass / worldwriteable sein muss

Missverständnis: »/tmp soll bzw. muss [...]«

Eckhard Sebastian Maass

unread,
Jul 19, 2001, 5:31:57 PM7/19/01
to
* Juergen Ilse <jue...@ilse.asys-h.de>:

> > wenn das nicht geht? /tmp/ soll / muß per Kovention ja world-writable
> > sein.
>
> ... allerdings waere mir neu, dass / worldwriteable sein muss (bei mir
> ist es nur fuer alle lesbar und executable und das scheint ja zu reichen).

Ehrlich gesagt: das meinte ich gar nicht. ;-)

Ich wollte folgendes sagen: /tmp/ (soll|muß) per Konevntion world
writable sein ... das / worldwritable wäre, hmm, wäre ... schlecht.

Aber es stimmt doch, daß /tmp/ worldwritable sein (soll|muß), oder? Ich
kann mich daran erinnern, da was gelsen zu haben ...

Christian Garbs [Master Mitch]

unread,
Jul 19, 2001, 4:50:19 PM7/19/01
to
Helmut Schellong <sche...@t-online.de> wrote:

>> Dann solltest du dringenst dein cgi-script reparieren, denn auch
>> mit korrektem Referer: eintrag geht es nicht:
>> ..........
>> ueber die datei selbst leakst, laesst mich vermuten, das dein
>> cgi-script einfach nur fehlerhaft ist.

> Nein, ist es nicht.

> Ich kenne jetzt Deinen Download-Fehler.
> Ich sagte doch, Du sollst normal im Browser auf den Link klicken.
> Das hast Du nicht getan!
> Du mußt mit der *rechten* Maustaste gearbeitet haben!

Seit wann werden Maustasten im HTTP-Protokoll übertragen?

Gruß,
Christian, f'up2posternd
--
....Christian.Garbs.....................................http://www.cgarbs.de
Eighty percent of air pollution comes from plants and trees.
-- Ronald Reagan, famous movie star

Christian Garbs [Master Mitch]

unread,
Jul 19, 2001, 4:57:06 PM7/19/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> Du vergißt, daß die bsh zuerst für DOS geschaffen wurde.
> Wie ich schon sagte, z.B. & fork kill wait sind erst vor
> wenigen Monaten eingebaut worden...

> Wenn ich bsh von Anfang an für Unix geplant hätte, würde sie
> jetzt anders aussehen - aber unter Unix gabs ja schon immer
> leistungsfähige Shells...

[...]

>> Lächerlich. Wenn Du solche Fehler kennst, warum behebst Du sie nicht
>> gleich,

> 1.) Aus Zeitgründen
> 2.) Weil bisher *niemand* auch nur ansatzweise eine
> Unix-bsh-Vollversion haben wollte.
> Mit gewaltigem Abstand wollen die Leute
> hauptsächlich bsh32.exe für Win9X/NT haben.

Ich habe hier jetzt gerade die Charta nicht im Kopf[1], aber wenn ich
in den Namen der Newsgroup schaue, dann steht da bei mir was von Unix.

Warum bietest Du hier eine Shell als Unix-Problemlösung an, von der Du
selber sagst, daß sie eigentlich gar nicht für Unix wäre und
Standard-Unix-Features neu und noch leicht buggy sind?

Gruß,
Christian

[1] Gibt es hier schon regelmässig eine FAQ, in der u.a. der Charta
drinsteht? Habe eben auf meinem lokalen Newsserver nichts gefunden.
--
....Christian.Garbs.....................................http://www.cgarbs.de
Eine alte Jungfer ist eine Dame, die in ihrem ganzen Leben
niemals verlegen war um eine Antwort auf eine Frage, die ihr
niemand gestellt hat.

Christian Garbs [Master Mitch]

unread,
Jul 19, 2001, 5:03:20 PM7/19/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> Dennoch kann es sein, daß hierbei HTTP_REFERER *nicht*
> definiert ist!
> Entscheidend ist das Environment, das der WebServer
> an mein Script übergibt!

Wenn Dein Webserver Dir nicht den kompletten gesendeten HTTP-Header
übergibt, dann solltest Du allerdings doch mal mit Deinem Provider
reden.

Ich sach mal so: Wenn ich wget sage, daß er einen Referer setzen soll,
dann tut er das auch. Hab' ich schon erfolgreich ausprobiert.

Jetzt aber f'up2poster, weil der Shellbezug weg ist.

Gruß,
Christian
--
....Christian.Garbs.....................................http://www.cgarbs.de

panic: can't find /

Gunnar Ritter

unread,
Jul 19, 2001, 6:37:25 PM7/19/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> Außerdem ist sie etwa 15-fach schneller als bash,
> was nicht ohne Bedeutung ist.

Alle Leute messen ihre Shells x-mal schneller als die Konkurrenz,
gipfelnd bei David Korn, dessen Behauptung, die ksh93 sei besonders
schnell, wohl wirklich niemand so recht glauben mag, der das Ding mal
in Aktion gesehen hat. Das ist aber egal, weil das sowieso kein Kenner
ernst nimmt. Wem es auf Geschwindigkeit ankommt, der verwendet eben
überhaupt keine Shell, sondern eine angemessenere Programmiersprache.

>> >> > PS1 im *Environment* ignoriere ich mit Absicht!
>> >> > bsh soll gar nicht das Prompt von sh automatisch übernehmen.
>> >>
>> >> Dann solltest Du eine Variable mit anderem Namen verwenden. Der
>> >> Mischmasch aus scheinbarer Bourne-Shell-Sprache und derartigen
>> >> Verstößen gegen Tradition ebenso wie POSIX.2 ist übel. Entweder
>> >> entscheidest Du Dich für Kompatibilität mit allen Konsequenzen,
>> >> oder Du entscheidest Dich konsequent dagegen. Mit zsh-mäßigem
>> >> Durcheinander ist bei ernsthaften Programmierern kein Blumentopf
>> >> zu gewinnen.
>> >
>> > Du hast übersehen, daß bsh den Inhalt von PS1 interpretiert,
>> > als würde man 'eval' verwenden!
>>
>> Dann solltest Du erst recht einen anderen Variablennamen verwenden,
>> wie ich schon sagte. Gründe siehe oben.
>
> Wieso 'erst recht'?
> env-PS1 wird ja *nicht* gelesen.

Wenn Deine intellektuellen Kapazitäten nicht einmal zum Verständnis
meiner obenstehenden simplen Argumentation ausreichen, vergiß es. Es
ist ja sowieso egal, weil kein ernstzunehmender Mensch Deine Software
benutzt.

> Z.B. bei mir ist /tmp ein memfs mit relativ geringer Größe.

ISO/IEC 9945-2:1993, 2.7, p. 77:

# The following directory shall exist on conforming systems and shall
# be used as described:
#
# /tmp A directory made available for programs that need a place to
# create temporary files. Applications shall be allowed to create
# files in this directory, but shall not assume that such files
# are preserved between invocations of the application.

Wenn Du dem Standard weder als Administrator noch als Programmierer
folgst, ist das Dein Fehler.

> Ist es denn so schwer, BSHTEMP zu setzen?

Wer möchte schon für irgendwelche dahergelaufene Shareware eine
Umgebungsvariable setzen, wenn es eine standardisierte Regelung gibt?
Mir geht es ja gar nicht um spezielle Konfigurationen, sondern um
das Defaultverhalten.

>> Auf die Gefahr, mich zu wiederholen:
>>
>> Wer 135 DM für etwas haben will, kann sich weder durch Zeitmangel
>> noch durch persönliche Inkompetenz entschuldigen.
>
> Wieso stellst Du dieses Geld dauernd in den Vordergrund?

Weil mich Dein Geiz noch mehr stört als die Fehler, die Du machst. Bei
freier Software sähe das alles ganz anders aus.

> Ich will mich auch gar nicht wegen der 135 DM entschuldigen;
> denn ich habe davon nirgends geredet.

Du lügst, <3B559CBC...@t-online.de>.

Grüße,
Gunnar

Andreas Riedel

unread,
Jul 19, 2001, 7:17:46 PM7/19/01
to
Eckhard Sebastian Maass schrieb:

> Ich wollte folgendes sagen: /tmp/ (soll|muß) per Konevntion world
> writable sein ... das / worldwritable wäre, hmm, wäre ... schlecht.

Allerdings. / kann sogar readonly gemountet werden - auch wenn das aus
Bequemlichkeitsgründen kaum jemand macht.

> Aber es stimmt doch, daß /tmp/ worldwritable sein (soll|muß), oder?

Ja, worldwritable und sticky (niemand darf Dateien anderer User
löschen).

Gruß
Andreas

--
Those who desire to give up Freedom in order to gain Security,
will not have, nor do they deserve, either one. (T. Jefferson)

Helmut Schellong

unread,
Jul 19, 2001, 9:28:38 PM7/19/01
to
"Christian Garbs [Master Mitch]" wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> > Du vergißt, daß die bsh zuerst für DOS geschaffen wurde.
> > Wie ich schon sagte, z.B. & fork kill wait sind erst vor
> > wenigen Monaten eingebaut worden...
>
> > Wenn ich bsh von Anfang an für Unix geplant hätte, würde sie
> > jetzt anders aussehen - aber unter Unix gabs ja schon immer
> > leistungsfähige Shells...
>
> [...]
>
> >> Lächerlich. Wenn Du solche Fehler kennst, warum behebst Du sie nicht
> >> gleich,
>
> > 1.) Aus Zeitgründen
> > 2.) Weil bisher *niemand* auch nur ansatzweise eine
> > Unix-bsh-Vollversion haben wollte.
> > Mit gewaltigem Abstand wollen die Leute
> > hauptsächlich bsh32.exe für Win9X/NT haben.
>
> Ich habe hier jetzt gerade die Charta nicht im Kopf[1], aber wenn ich
> in den Namen der Newsgroup schaue, dann steht da bei mir was von Unix.
>
> Warum bietest Du hier eine Shell als Unix-Problemlösung an, von der Du
> selber sagst, daß sie eigentlich gar nicht für Unix wäre und
> Standard-Unix-Features neu und noch leicht buggy sind?

Ich biete das so hier gar nicht an!

Ich hatte lediglich eine ganz kleine Problemlösung gezeigt,
-- OHNE & fork wait wohlgemerkt.

Helmut Schellong

unread,
Jul 19, 2001, 9:35:12 PM7/19/01
to
Eckhard Sebastian Maass wrote:
>
> Ich wollte folgendes sagen: /tmp/ (soll|muß) per Konevntion world
> writable sein ... das / worldwritable wäre, hmm, wäre ... schlecht.
>
> Aber es stimmt doch, daß /tmp/ worldwritable sein (soll|muß), oder? Ich
> kann mich daran erinnern, da was gelsen zu haben ...

Ja sicher, ich kenne /tmp und /usr/tmp nur mit: drwxrwxrwt
Also auch das Sticky-Bit ist gesetzt.

Helmut Schellong

unread,
Jul 19, 2001, 9:35:42 PM7/19/01
to
Gunnar Ritter wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> > Außerdem ist sie etwa 15-fach schneller als bash,
> > was nicht ohne Bedeutung ist.
>
> Alle Leute messen ihre Shells x-mal schneller als die Konkurrenz,
> gipfelnd bei David Korn, dessen Behauptung, die ksh93 sei besonders
> schnell, wohl wirklich niemand so recht glauben mag, der das Ding mal
> in Aktion gesehen hat. Das ist aber egal, weil das sowieso kein Kenner
> ernst nimmt. Wem es auf Geschwindigkeit ankommt, der verwendet eben
> überhaupt keine Shell, sondern eine angemessenere Programmiersprache.

Na ja, ich finde die ksh durchaus erstaunlich schnell.
Jedenfalls das Exemplar unter SCO OpenServer50X, das ich mal
aufwendig ausgemessen hatte.
Ich hatte Probleme, deren Tempo mit der bsh deutlich
zu übertreffen.

> > Ich will mich auch gar nicht wegen der 135 DM entschuldigen;
> > denn ich habe davon nirgends geredet.
>
> Du lügst, <3B559CBC...@t-online.de>.

Wirklich?
Ich habe dort höchstens auf die Nennung dieses Betrages
durch einen anderen *geantwortet*.
Ich habe in keinem Fall *von mir aus* über kostenpflichtige
bsh-VV geredet.

Gunnar Ritter

unread,
Jul 19, 2001, 10:24:47 PM7/19/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> Gunnar Ritter wrote:
>> Helmut Schellong <sche...@t-online.de> wrote:
>> > Außerdem ist sie etwa 15-fach schneller als bash,
>> > was nicht ohne Bedeutung ist.
>>
>> Alle Leute messen ihre Shells x-mal schneller als die Konkurrenz,
>> gipfelnd bei David Korn, dessen Behauptung, die ksh93 sei besonders
>> schnell, wohl wirklich niemand so recht glauben mag, der das Ding mal

>> in Aktion gesehen hat. [...]


>
> Na ja, ich finde die ksh durchaus erstaunlich schnell.

Siehe z.B. die simplen und vom Zustandekommen her eher zufälligen
Tests in <3A8808CA...@bigfoot.de>.

>> > Ich will mich auch gar nicht wegen der 135 DM entschuldigen;
>> > denn ich habe davon nirgends geredet.
>>
>> Du lügst, <3B559CBC...@t-online.de>.
>
> Wirklich?

»Wer beispw. 5000 DM Gewinn pro Jahr durch die bsh erzielt, kann auch
135 DM für die Vollversion ausgeben.«

> Ich habe dort höchstens auf die Nennung dieses Betrages
> durch einen anderen *geantwortet*.
> Ich habe in keinem Fall *von mir aus* über kostenpflichtige
> bsh-VV geredet.

Niemand hat Dich gebeten, billige Werbesprüche wie »Durch engagierte
Verwendung der bsh kann jeder benutzende Mitarbeiter Dutzende bis
Hunderte Arbeitsstunden p.J. sparen...« (a.a.O.) von Dir zu geben.

Grüße,
Gunnar

Helmut Schellong

unread,
Jul 20, 2001, 6:51:07 AM7/20/01
to
Gunnar Ritter wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> > Gunnar Ritter wrote:
> >> Helmut Schellong <sche...@t-online.de> wrote:
> >> > Außerdem ist sie etwa 15-fach schneller als bash,
> >> > was nicht ohne Bedeutung ist.
> >>
> >> Alle Leute messen ihre Shells x-mal schneller als die Konkurrenz,
> >> gipfelnd bei David Korn, dessen Behauptung, die ksh93 sei besonders
> >> schnell, wohl wirklich niemand so recht glauben mag, der das Ding mal
> >> in Aktion gesehen hat. [...]
> >
> > Na ja, ich finde die ksh durchaus erstaunlich schnell.
>
> Siehe z.B. die simplen und vom Zustandekommen her eher zufälligen
> Tests in news:3A8808CA...@bigfoot.de

Siehe http://www.wikiservice.at/dse/wiki.cgi?ShellBsh

Ich habe grad aktuell mal bsh mit ksh93 verglichen:
ksh93 bsh
0.25 0.19
0.13 0.06
0.12 0.13
timex ksh s70.ksh 1111111111
timex bsh s70.bsh 1111111111
UnixWare7.1.1

Andere Shells liegen da eher bei mehreren Sekunden.

Gunnar Ritter

unread,
Jul 20, 2001, 11:49:38 AM7/20/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> Gunnar Ritter wrote:
>> Helmut Schellong <sche...@t-online.de> wrote:
>> > Gunnar Ritter wrote:
>> >> Helmut Schellong <sche...@t-online.de> wrote:
>> >> > Außerdem ist sie etwa 15-fach schneller als bash,
>> >> > was nicht ohne Bedeutung ist.
>> >>
>> >> Alle Leute messen ihre Shells x-mal schneller als die Konkurrenz,
>> >> gipfelnd bei David Korn, dessen Behauptung, die ksh93 sei besonders
>> >> schnell, wohl wirklich niemand so recht glauben mag, der das Ding mal
>> >> in Aktion gesehen hat. [...]
>> >
>> > Na ja, ich finde die ksh durchaus erstaunlich schnell.
>>
>> Siehe z.B. die simplen und vom Zustandekommen her eher zufälligen
>> Tests in news:3A8808CA...@bigfoot.de
>
> Siehe http://www.wikiservice.at/dse/wiki.cgi?ShellBsh

Ein Benchmark, bei dem nicht einmal die verwendeten Skripte mit
angegeben und bewertet sind, ist unseriös. Davon abgesehen laufen
4dos.com und die ksh von SCO offensichtlich noch in verschiedenen
Umgebungen. Genaue Angaben über die verwendeten Versionen fehlen auch.
Mit solchen Daten kann man sich bestenfalls den Arsch abwischen.

Und wenn man sich nach einigen Umwegen die Testskripte besorgt hat,
erkennt man sofort, wie Du die Ergebnisse zustande gebracht hast. Du
hast einfach ein paar arithmetische Berechnungen gemessen - also etwas,
wofür man Shells gar nicht einsetzt, wenn man recht bei Verstand ist.
Jedes Kind weiß, daß man mit expr und der Bourne-Shell da keine
Geschwindigkeitsrekorde erzielen wird. Es ist ein fauler Zauber,
was Du da betreibst.

> Ich habe grad aktuell mal bsh mit ksh93 verglichen:

Und hast mal wieder nicht verstanden, worauf ich hinaus will. Es ist
überhaupt kein Problem, hier irgendwas zu messen (zumal wenn man so
durchschaubar vorgeht wie Du). Es ist aber kaum möglich, die Performance
einer Shell seriös (d.h. per Anwendungsbenchmark) zu messen, da die
möglichen Anwendungszwecke zu sehr divergieren. Außerdem setzt man
Shells (ich wiederhole mich) gar nicht ein, wenn es auf Performance
ankommt.

Eine Diskussion mit Dir ist sinnlos. Du trägst außer durchschaubaren
Werbegags nichts dazu bei und bist nicht in der Lage, die Argumente
der Gegenseite überhaupt geistig nachzuvollziehen. Geh doch nach Hause.

Grüße,
Gunnar

Stefan Wiens

unread,
Jul 20, 2001, 1:16:34 PM7/20/01
to
Helmut Schellong <sche...@t-online.de> writes:

> Ich habe grad aktuell mal bsh mit ksh93 verglichen:
> ksh93 bsh
> 0.25 0.19
> 0.13 0.06
> 0.12 0.13
> timex ksh s70.ksh 1111111111
> timex bsh s70.bsh 1111111111
> UnixWare7.1.1
>
> Andere Shells liegen da eher bei mehreren Sekunden.

Deine Testscripts sind völlig praxisfremd und damit ohne Bedeutung.
date(1) erledigt die Arbeit von s70.* in einem Bruchteil der Zeit.

Ich wollte deshalb einmal etwas realistischeres untersuchen, nämlich
Pathname Expansion.

Das Testkommando war also ein simples "echo foo/11?/*".

Die ermittelten Zeiten nenne ich hier nicht, da Deine bsh bereits bei
weniger als 10000 Dateinamen wegen
"Limit erreicht: 'L?ngensumme Argumente'"
die Segel streichen mußte. (Hier ist außerdem LC_MESSAGES=C.)

Bereits bei wesentlich kürzeren Ausgaben fehlten in der bsh-Ausgabe
mehrere Namen oder waren verstümmelt. Ferner war die Ausgabe
abgehackt, und es fehlte das Newline am Dateiende. bsh gab trotz der
fehlerhaften Ausgabe den Exitcode 0 und keinen Hinweis in stderr auf
das unbrauchbare Ergebnis.

Ein derart fehlerhaftes Stück Software mit einer Shell zu vergleichen,
wäre wirklich völlig sinnfrei. Die Ausgaben von bsh sind unbrauchbar,
wie schnell auch immer das fehlerhafte Ergebnis geliefert werden mag.

Grüße,
Stefan

Helmut Schellong

unread,
Jul 20, 2001, 2:19:23 PM7/20/01
to
Stefan Wiens wrote:
>
> Helmut Schellong <sche...@t-online.de> writes:
>
> > Ich habe grad aktuell mal bsh mit ksh93 verglichen:
> > ksh93 bsh
> > 0.25 0.19
> > 0.13 0.06
> > 0.12 0.13
> > timex ksh s70.ksh 1111111111
> > timex bsh s70.bsh 1111111111
> > UnixWare7.1.1
> >
> > Andere Shells liegen da eher bei mehreren Sekunden.
>
> Deine Testscripts sind völlig praxisfremd und damit ohne Bedeutung.
> date(1) erledigt die Arbeit von s70.* in einem Bruchteil der Zeit.

Das ist doch wirklich eine vollkommen haltlose Begründung.
Man kann letztlich jeden Script-Algorithmus auch in C
programmieren, wobei das immer gewaltig schneller ist,
folglich ist daher *jeder* Script-Algorithmus praxisfremd und
damit ohne Bedeutung?

Wenn es darum geht, das Tempo von mehreren Shells auf
mehreren BS zu messen, muß man Testquellen schreiben,
die möglichst weitgehend shell-intern arbeiten
und gleichzeitig von allen Shells gekonnt werden.

> Ich wollte deshalb einmal etwas realistischeres untersuchen, nämlich
> Pathname Expansion.
>
> Das Testkommando war also ein simples "echo foo/11?/*".
>
> Die ermittelten Zeiten nenne ich hier nicht, da Deine bsh bereits bei
> weniger als 10000 Dateinamen wegen
> "Limit erreicht: 'L?ngensumme Argumente'"
> die Segel streichen mußte. (Hier ist außerdem LC_MESSAGES=C.)

TESTS:
=================================================================
BSH
dir/products/word/bitmaps arch/w95.dir/products/works/bitmaps
4# echo arch/*/*/*/* | wc
1 1694 73548
6# echo arch/*/*/*/* arch/*/*/*/* arch/*/*/*/* | wc
1 5082 220644
7# echo arch/*/*/*/* arch/*/*/*/* arch/*/*/*/* arch/*/*/*/*
bsh: Limit erreicht: 'Längensumme Argumente'
-----------------------------------------------------------------
KSH
dir/products/word/bitmaps arch/w95.dir/products/works/bitmaps
:: echo arch/*/*/*/* | wc
1 1694 73548
-----------------------------------------------------------------
CSH
7] echo arch/*/*/*/*
Argumente zu lang
8]
=================================================================

So, und jetzt würdest Du auch die csh als unbrauchbare
Software bezeichnen?
Die scheint bei 64KB Kommandozeile bereits Schluß zu machen.

Dein Test, den Du als realistisch hinstellst, ist nämlich
ziemlicher Quatsch.
Willst Du den Inhalt einer ganzen CD in die Kommandozeile
expandieren können?
Dazu nimmt man 'find' oder 'bsh- list [-Rpfdo]'

Die Unix-bsh hat hier ein Limit von 256KB,
was ein auskömmlicher Wert ist.
(Manche Shells haben nur 5 KB!)

> Bereits bei wesentlich kürzeren Ausgaben fehlten in der bsh-Ausgabe
> mehrere Namen oder waren verstümmelt. Ferner war die Ausgabe
> abgehackt, und es fehlte das Newline am Dateiende. bsh gab trotz der
> fehlerhaften Ausgabe den Exitcode 0 und keinen Hinweis in stderr auf
> das unbrauchbare Ergebnis.

Solche Fehler habe ich nie feststellen können.
Siehe oben meinen Test, der bei ksh/bsh identische
Resultate lieferte und bei Erreichen des Limits
sauber reagierte.

Außerdem ist das schon recht seltsam.
Wenn ich readdir(.d_name) als Quelle verwende,
wie sollten dann irgendwelche Namen fehlen
oder abgehackt sein?
Und warum sollte 'echo' einfach das obligatorische
Newline unterlassen?

Helmut Schellong

unread,
Jul 20, 2001, 2:17:59 PM7/20/01
to
Gunnar Ritter wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
> >> >
> >> > Na ja, ich finde die ksh durchaus erstaunlich schnell.
> >>
> >> Siehe z.B. die simplen und vom Zustandekommen her eher zufälligen
> >> Tests in news:3A8808CA...@bigfoot.de
> >
> > Siehe http://www.wikiservice.at/dse/wiki.cgi?ShellBsh
>
> Ein Benchmark, bei dem nicht einmal die verwendeten Skripte mit
> angegeben und bewertet sind, ist unseriös.

Es ist dort eine Quelle für die Test-Scripte angegeben.

> Davon abgesehen laufen
> 4dos.com und die ksh von SCO offensichtlich noch in verschiedenen
> Umgebungen.

Deshalb habe ich auch darauf geachtet, daß die Scripts
möglicht weitgehend shell-intern ablaufen.
Und der Computer war derselbe.

> Genaue Angaben über die verwendeten Versionen fehlen auch.
> Mit solchen Daten kann man sich bestenfalls den Arsch abwischen.

Da bin ich ganz anderer Meinung.

> Und wenn man sich nach einigen Umwegen die Testskripte besorgt hat,
> erkennt man sofort, wie Du die Ergebnisse zustande gebracht hast. Du
> hast einfach ein paar arithmetische Berechnungen gemessen - also etwas,
> wofür man Shells gar nicht einsetzt, wenn man recht bei Verstand ist.
> Jedes Kind weiß, daß man mit expr und der Bourne-Shell da keine
> Geschwindigkeitsrekorde erzielen wird. Es ist ein fauler Zauber,
> was Du da betreibst.

Da bin ich ganz anderer Meinung.
Es ist absolut sh-typisch, Berechnungen mit expr
durchzuführen -- das ist einfach so.
Und wenn sh das intern nicht kann, ist es ein
Nachteil dieses 'alten Brummers'!

Warum hat ksh denn Arithmetik mit 36 Zahlenbasen eingebaut?
Und noch dazu alle Einrichtungen, die damit
zusammenarbeiten, wie printf z.B.?
Aus lauter Quatsch?
Ich weiß aus der .msdos-NG, daß die fehlende
DOS-Batch-Arithmetik eine EXTREM VERMISSTE
Möglichkeit ist!

Deine Meinung hierzu finde ich TOTAL daneben.

> > Ich habe grad aktuell mal bsh mit ksh93 verglichen:
>

> Und hast mal wieder nicht verstanden, worauf ich hinaus will. Es ist
> überhaupt kein Problem, hier irgendwas zu messen (zumal wenn man so
> durchschaubar vorgeht wie Du). Es ist aber kaum möglich, die Performance
> einer Shell seriös (d.h. per Anwendungsbenchmark) zu messen, da die
> möglichen Anwendungszwecke zu sehr divergieren. Außerdem setzt man
> Shells (ich wiederhole mich) gar nicht ein, wenn es auf Performance
> ankommt.

bsh kann man sogar einsetzen, *wenn* es auf Performance
bis zu einem gewissen Grade ankommt.
Genau deshalb hab ich sie schnell gemacht, um oft
Compiler-Quellen vermeiden zu können.

> Eine Diskussion mit Dir ist sinnlos. Du trägst außer durchschaubaren
> Werbegags nichts dazu bei und bist nicht in der Lage, die Argumente
> der Gegenseite überhaupt geistig nachzuvollziehen. Geh doch nach Hause.

Alle Postings hier habe ich zu Hause geschrieben.

Sven Mascheck

unread,
Jul 20, 2001, 5:22:59 PM7/20/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> So, und jetzt würdest Du auch die csh als unbrauchbare Software bezeichnen?

Selbst tcsh(1), (dito csh):

"The shell cannot presently redirect diagnostic output
without also redirecting standard output"

Oder anders: kein open() oder dup() für beliebige File Descriptoren
(sagen wir mal bis 9 für die alte Bourne Shell)

Ohne »commando 2>/dev/null« ist schlicht indiskutabel.

Sven Mascheck

unread,
Jul 20, 2001, 5:29:10 PM7/20/01
to
Sven Mascheck <sven.m...@student.uni-ulm.de> wrote:
> Helmut Schellong <sche...@t-online.de> wrote:
>> So, und jetzt würdest Du auch die csh als unbrauchbare Software bezeichnen?

> [Ja, dup()]

"-v": Einige positive Tests sagen "nichts", sondern die
Gesamtheit der negativen Tests hinterläßt Eindruck.

Du mußt Dich hier an Unix Shells messen.

Deshalb die Art, wie ich ursprünglich auf Deine csh-Frage geantwortet hatte.

Gunnar Ritter

unread,
Jul 20, 2001, 5:08:43 PM7/20/01
to
Helmut Schellong <sche...@t-online.de> wrote:

>> Davon abgesehen laufen
>> 4dos.com und die ksh von SCO offensichtlich noch in verschiedenen
>> Umgebungen.
>
> Deshalb habe ich auch darauf geachtet, daß die Scripts
> möglicht weitgehend shell-intern ablaufen.
> Und der Computer war derselbe.

Du weist doch in den Kommentaren selbst darauf hin, daß allein der
Unterschied zwischen DOS und Unix gewichtig ist.

>> Genaue Angaben über die verwendeten Versionen fehlen auch.
>> Mit solchen Daten kann man sich bestenfalls den Arsch abwischen.
>
> Da bin ich ganz anderer Meinung.

Klar, Du mußt Deine Werbelügen ja verteidigen.

> Es ist absolut sh-typisch, Berechnungen mit expr
> durchzuführen -- das ist einfach so.

Wer Arithmetik überhaupt mit Shells ausführt, wenn es auf Performance
ankommt, hat das falsche Werkzeug gewählt. Natürlich verwendet man
gelegentlich expr, aber in Situationen, in denen das egal ist.

> Warum hat ksh denn Arithmetik mit 36 Zahlenbasen eingebaut?
> Und noch dazu alle Einrichtungen, die damit
> zusammenarbeiten, wie printf z.B.?

Weil es gelegentlich nützlich ist.

> Aus lauter Quatsch?

Ganz sicher nicht, um FORTRAN als Sprache für physikalische Berechnungen
abzulösen.

> Ich weiß aus der .msdos-NG,

ROTFL.

Grüße,
Gunnar

Gunnar Ritter

unread,
Jul 20, 2001, 5:39:07 PM7/20/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> Das ist doch wirklich eine vollkommen haltlose Begründung.
> Man kann letztlich jeden Script-Algorithmus auch in C
> programmieren, wobei das immer gewaltig schneller ist,
> folglich ist daher *jeder* Script-Algorithmus praxisfremd und
> damit ohne Bedeutung?

Nein, nur die, die man mit vergleichbarem Aufwand und wesentlich
höherer Geschwindigkeit in C programmieren kann, wenn man denn Wert
darauf legt. Also Deine Tests, nicht jedoch Globbing. Genau deshalb
wollte Stefan das testen. Hast Du Deinen IQ eigentlich mal messen
lassen? Vielleicht zahlt man Dir danach ja Sozialhilfe.

Ganz nebenbei ist Dein Globbing auch noch in anderen Punkten broken.
Es matcht unverlangt Dateinamen mit Punkt am Anfang und verletzt die
Sortierreihenfolge; ISO/IEC 9945-2:1993, 3.13.3, p. 152:

# If a filename begins with a period (.), the period shall be
# explicitly matched by using a period as the first character
# of the pattern or immediately following a slash character.
# The leading period shall not be matched by
#
# - The asterisk or question-mark special characters, or
#
# - A bracket expression containing a nonmatching list (such as [!a]),
# a range expression (such as [%-0]), or a character class expression
# (such as [[:punct:]]).
#
# It is unspecified whether an explicit period in a bracket expression
# matching list (such as [.abc]) can match a leading period in a filename.
# [...]
# If the pattern matches any existing filenames or pathnames, the pattern
# shall be replaced with those filenames and pathnames, sorted according
# to the collating sequence in effect in the current locale.

Und einmal mehr zeigt sich, was für proprietären Müll Du da verkaufst.

> So, und jetzt würdest Du auch die csh als unbrauchbare
> Software bezeichnen?

Ja natürlich, das ist doch kalter Kaffee. Du möchtest »Csh Programming
Considered Harmful« von Tom Christiansen lesen.

> Die Unix-bsh hat hier ein Limit von 256KB,

Daß ich nicht lache.

> was ein auskömmlicher Wert ist.

In Bad Salzuflen vielleicht.

> (Manche Shells haben nur 5 KB!)

Die Bourne-Shell hatte hier *nie* ein internes Limit. Im Gegensatz
zu Dir kann Steven Bourne nämlich programmieren, und so kann seine
Shell mit praktisch unbegrenzten Argumentlisten umgehen, wenn sie
auch nur auf einer VAX mit Paging läuft.

Grüße,
Gunnar

Helmut Schellong

unread,
Jul 20, 2001, 6:20:45 PM7/20/01
to

In diesen Hinsichten ist die csh tatsächlich sehr schwach
auf der Brust.
Sie ist nun mal interaktiv besser als sh, ansonsten
aber schlechter als sh.

Übrigens kann die csh auch keine Shell-Funktionen.
Als Script-Maschine ist sie konzeptionell unrein.
(Andererseits kann sie intern rechnen mit @ ++x z.B.)
Und awk ist erheblich c-ähnlicher als c-sh.

Helmut Schellong

unread,
Jul 20, 2001, 6:22:02 PM7/20/01
to
Sven Mascheck wrote:
>
> Sven Mascheck <sven.m...@student.uni-ulm.de> wrote:
> > Helmut Schellong <sche...@t-online.de> wrote:
> >> So, und jetzt würdest Du auch die csh als unbrauchbare Software bezeichnen?
>
> > [Ja, dup()]
>
> "-v": Einige positive Tests sagen "nichts", sondern die
> Gesamtheit der negativen Tests hinterläßt Eindruck.

Was war denn bisher?!

1.)
Im Zusammenhang mit den neuen Kommandos fork, ...&, wait, kill,
fehlt lediglich eine Prompt-wait-Automatik als weiteres
Feature - ein Bug ist das nicht.
2.)
Und daß die Kommandozeile 'nur' 256KB lang werden kann,
ist ebenfalls kein Bug.


Über andere Shells (als bsh) könnte ich eine riesenlange
Negativ-Liste zusammenstellen...
Trotzdem sind sie nützlich!

> Du mußt Dich hier an Unix Shells messen.

Und csh,sh,tcsh,bash,ksh,... sind alles Unix-Shells.

Helmut Schellong

unread,
Jul 20, 2001, 6:24:19 PM7/20/01
to
Gunnar Ritter wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> Ganz nebenbei ist Dein Globbing auch noch in anderen Punkten broken.
> Es matcht unverlangt Dateinamen mit Punkt am Anfang und verletzt die
> Sortierreihenfolge; ISO/IEC 9945-2:1993, 3.13.3, p. 152:
>
> # If a filename begins with a period (.), the period shall be
> # .............

>
> Und einmal mehr zeigt sich, was für proprietären Müll Du da verkaufst.

Habe ich irgendwo in den bsh-Manuals stehen, daß bsh konform
geht mit irgendeinem Unix-Standard?
Nein!
bsh richtet sich nach überhaupt gar keinem Standard!
Aber bsh ist recht ähnlich den Shells aus der
Bourne-Shell-Familie, und das stimmt auch.
Mir gefällt nämlich diese Syntax - im Gegensatz zu perl.
(Obwohl ich perl wegen der Mächtigkeit bewundere.)

Globbing in bsh liefert absichtlich stets auch .namen,
weil ich das so will.
Wer das nicht will, kann das interne grep nachschalten.
Globbing in bsh sortiert absichtlich auch nicht!
Wer das will, nehme das interne 'sortl'.
bsh kann auch -absichtlich- keine Umlenkungen:
{ ....... } > fff
( ....... ) > fff
dieser Art.
Dafür aber auch globale, permanente Umlenkungen:
> fff
<> ggg
...
><<
dieser Art.

bsh ist nun mal nicht 'genau gleich';
so wie csh nicht gleich ist mit sh...

> > (Manche Shells haben nur 5 KB!)
>
> Die Bourne-Shell hatte hier *nie* ein internes Limit. Im Gegensatz
> zu Dir kann Steven Bourne nämlich programmieren, und so kann seine
> Shell mit praktisch unbegrenzten Argumentlisten umgehen, wenn sie
> auch nur auf einer VAX mit Paging läuft.

Das habe ich in Manuals eines älteren Unix-Systems
mal gelesen - und ich irre mich da nicht.
Ich habe auch entsprechende Fehlermeldungen gesehen,
wenn ich mal 5KB überschritten hatte.

Gunnar Ritter

unread,
Jul 20, 2001, 7:33:11 PM7/20/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> Übrigens kann die csh auch keine Shell-Funktionen.

Tell me the news, baby.

Grüße,
Gunnar

Gunnar Ritter

unread,
Jul 20, 2001, 8:44:42 PM7/20/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> bsh richtet sich nach überhaupt gar keinem Standard!

Schön, dann hätten wir das jetzt ja geklärt. Halte Dich mit Postings
zu diesem proprietärem Kram ohne nennenswerte Verbreitung in dieser
Gruppe entsprechend zurück.

>> > (Manche Shells haben nur 5 KB!)
>>
>> Die Bourne-Shell hatte hier *nie* ein internes Limit. Im Gegensatz
>> zu Dir kann Steven Bourne nämlich programmieren, und so kann seine
>> Shell mit praktisch unbegrenzten Argumentlisten umgehen, wenn sie
>> auch nur auf einer VAX mit Paging läuft.
>
> Das habe ich in Manuals eines älteren Unix-Systems
> mal gelesen

NCARGS liegt auf älteren Unix-Systemen typischerweise bei 5120 und
begrenzt die Gesamtlänge der Argumente an exec(). Das ist aber kein
Limit der Bourne-Shell, die wird nur durch den verfügbaren Speicher
begrenzt:

1# for i in *
bsh: Limit erreicht: 'L ngensumme Argumente'
1# Copyright (C) Helmut Schellong, Bad Salzuflen
$ for i in *
> do echo $i\\c
> done | wc -c
728890
$ /bin/echo *
/bin/echo: arg list too long
$

Im Vergleich dazu Unix 7th Edition:

$ i=0
$ while test $i -lt 1000
> do >${i}xxxxxxxxxxxxxxx [wird vom System auf 14 Zeichen gekürzt]
> i=`expr $i + 1`
> done
$ for i in *
> do echo -n $i
> done | wc -c
14000
$ echo *
/bin/echo: arg list too long
$

Auf einer PDP-11 werden die 64 kB Datensegment natürlich irgendwann
überschritten, aber auf 32-Bit-Maschinen mit Paging und Virtual Memory
wie jedem modernen PC ist auch das kein Problem mehr.

> - und ich irre mich da nicht.

Du kennst offenbar die Bourne-Shell-Quellen nicht.

Grüße,
Gunnar

Gunnar Ritter

unread,
Jul 20, 2001, 8:52:16 PM7/20/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> bsh richtet sich nach überhaupt gar keinem Standard!

Schön, dann hätten wir das jetzt ja geklärt. Halte Dich mit Postings
zu diesem proprietären Kram ohne nennenswerte Verbreitung in dieser
Gruppe entsprechend zurück.

>> > (Manche Shells haben nur 5 KB!)


>>
>> Die Bourne-Shell hatte hier *nie* ein internes Limit. Im Gegensatz
>> zu Dir kann Steven Bourne nämlich programmieren, und so kann seine
>> Shell mit praktisch unbegrenzten Argumentlisten umgehen, wenn sie
>> auch nur auf einer VAX mit Paging läuft.
>
> Das habe ich in Manuals eines älteren Unix-Systems
> mal gelesen

NCARGS liegt auf älteren Unix-Systemen typischerweise bei 5120 und

> - und ich irre mich da nicht.

Du kennst offenbar die Bourne-Shell-Quellen nicht.

Grüße,
Gunnar

Helmut Schellong

unread,
Jul 20, 2001, 10:21:45 PM7/20/01
to

Ach so, Du hast das vorher schon gewußt ...

(Auch schon vor 15 Jahren?)

Helmut Schellong

unread,
Jul 20, 2001, 10:20:02 PM7/20/01
to
Gunnar Ritter wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> > bsh richtet sich nach überhaupt gar keinem Standard!
>
> Schön, dann hätten wir das jetzt ja geklärt. Halte Dich mit Postings
> zu diesem proprietären Kram ohne nennenswerte Verbreitung in dieser
> Gruppe entsprechend zurück.

Wenn die Charta entsprechendes sagt...

> >> > (Manche Shells haben nur 5 KB!)
> >>
> >> Die Bourne-Shell hatte hier *nie* ein internes Limit. Im Gegensatz
> >> zu Dir kann Steven Bourne nämlich programmieren, und so kann seine
> >> Shell mit praktisch unbegrenzten Argumentlisten umgehen, wenn sie
> >> auch nur auf einer VAX mit Paging läuft.
> >
> > Das habe ich in Manuals eines älteren Unix-Systems
> > mal gelesen
>
> NCARGS liegt auf älteren Unix-Systemen typischerweise bei 5120 und
> begrenzt die Gesamtlänge der Argumente an exec(). Das ist aber kein
> Limit der Bourne-Shell, die wird nur durch den verfügbaren Speicher
> begrenzt:

Das weiß ich.
Es gibt auch pipe()-buffer, die diese Größe haben.
Aber dennoch meinte ich ein KDO-Z.-Limit.

> 1# for i in *
> bsh: Limit erreicht: 'L ngensumme Argumente'
> 1# Copyright (C) Helmut Schellong, Bad Salzuflen

bsh-Limits gibts per 'ver l':
------------------------------
pnlen=2048 fnlen=256 dirslen=2048 namlen=31
abufsz=262144 nargs=16384
vbufsz=32768 vbufszl=3072 ibufsz=2048
fudefs=256 namdefs=512 namdefsl=32
nesting=0 njmp=8
------------------------------

Wie kommst Du darauf, daß ich 'sh' meinte?
Ich schrieb: "(Manche Shells haben nur 5 KB!)"

Eine *aktuelle* (sogar) CSH:
-------------------------------------------------------
Words can be no longer than 512 characters. The number of arguments to a
command which involves filename expansion is limited to 1/6th the number of
characters allowed in an argument list, which is 5120, less the characters
in the environment. The length of any argument of a command after filename
expansion cannot exceed 159 characters. Also, command substitutions may
substitute no more characters than are allowed in an argument list.
-------------------------------------------------------
Die Limits sind da derart gering, daß eine Forderung
nach 1 MB oder so, etwas komisch wirkt.

Stefan Wiens

unread,
Jul 20, 2001, 11:46:46 PM7/20/01
to
Helmut Schellong <sche...@t-online.de> writes:

(irgendetwas stimmt mit deinem References:-Header nicht.)


> Stefan Wiens wrote:
>>
>> Deine Testscripts sind völlig praxisfremd und damit ohne Bedeutung.
>> date(1) erledigt die Arbeit von s70.* in einem Bruchteil der Zeit.
>
> Das ist doch wirklich eine vollkommen haltlose Begründung.
> Man kann letztlich jeden Script-Algorithmus auch in C
> programmieren, wobei das immer gewaltig schneller ist,
> folglich ist daher *jeder* Script-Algorithmus praxisfremd und
> damit ohne Bedeutung?

Das ist u.A. eine Frage des Entwicklungsaufwandes.

> Wenn es darum geht, das Tempo von mehreren Shells auf
> mehreren BS zu messen, muß man Testquellen schreiben,
> die möglichst weitgehend shell-intern arbeiten
> und gleichzeitig von allen Shells gekonnt werden.

Eine Zählschleife, in der nur ein Vergleich durchgeführt wird, benutzt
niemand. Ich schreibe auch nicht "seq 1 10000 | grep 9000" statt "echo
9000". (Das ist aber immer noch schneller als Dein Script.)

Komplizierte Berechnungen würde ich ebenfalls nicht unbedingt mit der
Shell machen.

>> Ich wollte deshalb einmal etwas realistischeres untersuchen, nämlich
>> Pathname Expansion.
>> Das Testkommando war also ein simples "echo foo/11?/*".
>>
>> Die ermittelten Zeiten nenne ich hier nicht, da Deine bsh bereits bei
>> weniger als 10000 Dateinamen wegen
>> "Limit erreicht: 'L?ngensumme Argumente'"
>> die Segel streichen mußte. (Hier ist außerdem LC_MESSAGES=C.)

> 7# echo arch/*/*/*/* arch/*/*/*/* arch/*/*/*/* arch/*/*/*/*


> bsh: Limit erreicht: 'Längensumme Argumente'

Ich wollte übrigens ursprünglich "*/../*/../*"-Spielchen versuchen...

> CSH 7] echo arch/*/*/*/* Argumente zu lang 8]

> So, und jetzt würdest Du auch die csh als unbrauchbare


> Software bezeichnen?
> Die scheint bei 64KB Kommandozeile bereits Schluß zu machen.

Die Brauchbarkeit von csh ist wohl umstritten. Ich kenne die aber
nicht näher. [bc]sh considered harmful. ;-)

> Dein Test, den Du als realistisch hinstellst, ist nämlich
> ziemlicher Quatsch.
> Willst Du den Inhalt einer ganzen CD in die Kommandozeile
> expandieren können?
> Dazu nimmt man 'find' oder 'bsh- list [-Rpfdo]'

Ich benutze das öfters, meist zusammen mit "for". Insbesondere bei
"for" liegt keine Kommandozeile im eigentlichen Sinne vor, deshalb
halte ich Restriktionen für lästig.

Die Beschränkung habe ich auch eher am Rande bemängelt. Solche Details
sollten aber in Vergleiche einfließen, denn das Verwalten großer
Speicherbereiche hat seinen Preis.

Ein weiterer realistischer Test wäre das Starten externer
Programme. Bash merkt sich die Dateinamen im $PATH; das könnte die
Sache beschleunigen...

>> Bereits bei wesentlich kürzeren Ausgaben fehlten in der bsh-Ausgabe
>> mehrere Namen oder waren verstümmelt. Ferner war die Ausgabe
>> abgehackt, und es fehlte das Newline am Dateiende. bsh gab trotz der
>> fehlerhaften Ausgabe den Exitcode 0 und keinen Hinweis in stderr auf
>> das unbrauchbare Ergebnis.
>
> Solche Fehler habe ich nie feststellen können.
> Siehe oben meinen Test, der bei ksh/bsh identische
> Resultate lieferte und bei Erreichen des Limits
> sauber reagierte.

Dann sind Deine Tests zu oberflächlich.

> Außerdem ist das schon recht seltsam.
> Wenn ich readdir(.d_name) als Quelle verwende,
> wie sollten dann irgendwelche Namen fehlen
> oder abgehackt sein?

Ich werde sicher keinen Disassembler darauf ansetzen.
strace sagt genug.

> Und warum sollte 'echo' einfach das obligatorische Newline
> unterlassen?

Wenn Du es wirklich wissen möchtest:
(Man verzeihe mir bitte die langen Zeilen.)

$ ls testdir
<1eqo9rn.1u4klw81fzu58gN%cwi...@stud.uni-frankfurt.de>
<1er74k7.1oom0vxe2tgsgN%vi...@gmx.net>
<1erlnut.7io1t5mmahxcN%rau...@t-online.de>
<1esj4l4.ia2e1u60kjgwN%mat...@gmx.de>
<1etsahd.b6613ie017zkN%mark....@post.rwth-aachen.de>
<1evzbhp.1r1xyc31j4tvvaN%Uwe.S...@gmx.de>
$ ./995646259_24455_bsh_lx.bin

Dieses Programm ist kostenlos und darf nur gem„ einer
speziellen FREE_LIZENZ benutzt werden. (s. lizenz.txt)
Gewerblicher Einsatz dieser Software oder sonstige Verwendung
mit Gewinnerzielungsabsicht ist nicht gestattet.
Diese Software kann -anders als kostenpflichtige Vollversionen-
Leistungs- und/oder Ressourcen-Beschneidungen enthalten.
Alleiniger Eigent mer des Copyright ist der Autor.

bsh v3.21 LINUX, FreeLizenz, 11.Nov.2000


Copyright (C) Helmut Schellong, Bad Salzuflen

1# for i in testdir/* ; do echo "$i" ; done
testdir/<1etsahd.b6613ie017zkN%mark....@post.rwth-aachen.de>
au...@t-online.de>io1t5mmahxcN
testdir/<1esj4l4.ia2e1u60kjgwN%mat...@gmx.de>
testdir/<1evzbhp.1r1xyc31j4tvvaN%Uwe.S...@gmx.de>
testdir/<1eqo9rn.1u4klw81fzu58gNtestdir/<1er74k7.1oom0vxe2tgsgN
i...@gmx.net>
2# echo testdir/*
au...@t-online.de> testdir/<1esj4l4.ia2e1u60kjgwN%mat...@gmx.de> testdir/<1evzbhp.1r1xyc31j4tvvaN%Uwe.S...@gmx.de> testdir/<1eqo9rn.1u4klw81fzu58gN3# echo $?
0
4#

Und dabei enthalten die Dateinamen nur printable ASCII...

Komme jetzt bloß nicht damit, das sei (teilweise) so dokumentiert;
derart tückische Mehrfachauswertung von /gequoteten/ Argumenten ist
einfach unverantwortlich.
Du hast "echo" oben auch ohne Bedenken eingesetzt.

Dagegen sind $IFS-Abgründe geradezu erholsam.

Das implizite Erweitern von $PATH um "." ist ebenfalls starker Tobak,
wie auch das unsichere Tempfile-Handling.

Ähnlichkeit mit den bekannteren Shells ist nur sehr oberflächlich
vorhanden. Den Eindruck von Kompatibilität zu erwecken, halte ich für
eine Irreführung.

Nun aber genug der Gratis-Prüfung. ;-)

Grüße,
Stefan

Gunnar Ritter

unread,
Jul 21, 2001, 12:37:57 AM7/21/01
to
Helmut Schellong <sche...@t-online.de> wrote:

> Die Limits sind da derart gering, daß eine Forderung
> nach 1 MB oder so, etwas komisch wirkt.

Eines der Ziele wirklich geschickter Programmierung ist es, Limits ganz
zu vermeiden. Steven Bourne hat das in meisterhafter Weise vorgemacht,
indem er eine Shell völlig ohne artifizielle Beschränkungen geschrieben
hat. Seither ist das einfach eine der Meßlatten für jedes Programm, das
als Unix-Shell ernstgenommen werden soll. Du hast versagt.

Und jetzt tu der Gruppe bitte einen Gefallen und verpiß Dich mitsamt
Deinem bsh-Müll wieder in das Rattenloch, aus dem Du hervorgekrochen
kamst, damit wir uns endlich wieder auf sachlich relevante Themen
konzentrieren können. Danke.

Grüße,
Gunnar

Juergen Ilse

unread,
Jul 21, 2001, 5:02:58 AM7/21/01
to
Hallo,

Helmut Schellong <sche...@t-online.de> wrote:
[ Maximallaenge der Argumentliste ]


>> > (Manche Shells haben nur 5 KB!)
>> Die Bourne-Shell hatte hier *nie* ein internes Limit. Im Gegensatz
>> zu Dir kann Steven Bourne nämlich programmieren, und so kann seine
>> Shell mit praktisch unbegrenzten Argumentlisten umgehen, wenn sie
>> auch nur auf einer VAX mit Paging läuft.
> Das habe ich in Manuals eines älteren Unix-Systems
> mal gelesen - und ich irre mich da nicht.

Meines Wissens nach ist eine solche Begrenzung (wenn sie denn bei manchen
Versionen existiert haben sollte) auf den Wert gesetzt, denn auch das
darunterliegende System beinhaltet. Gerade die offenbar von dir bevor-
zugten unix-Systeme (bzw. die anscheinend vonm dir mit am meisten benutz-
ten wie SCO und Konsorten) haben da eine relativ enge Schranke (an die
ich auch schon mal gestossen bin). Bei Linux auf x86 liegt die Schranke
bei 128 KB, bei SunOS 4.1.3 auf Sparc lag sie IIRC bei mindestens 1 MB
(evt. auch hoeher), bei anderen Systemen mag sie noch anders liegen.
Prinzipielle Beschraenkungen der shell, die unterhalb solcher System-
spezifischer Schranken liegen sind mir bei keiner Implementierung der
Bourne-shell wirklich bekannt. Dafuer meine ich mich zu erinnern, dass
bei einer frueheren Version deiner bsh eine Schranke von um die 4 KB
enthalten war (ist schon laenger her, und jemand in de.comp.lang.c hatte
dir diese Macke der bsh nachgewiesen, worauf du erwidertest, dass es sich
dabei nicht um einen Fehler der shell sondern um eine Geschwindigkeits-
optimierung handeln wuerde). Ausserdem reagierte damals die shell auf
einen Bufferoverflow beim expandieren der Kommandozeile extrem unfreund-
lich (CRASH!), was damals in dem Thread ebenfalls angemaekelt wurde ...
Ist der letztgenannte Fehler eigentlich mittlerweile behoben?

> Ich habe auch entsprechende Fehlermeldungen gesehen,
> wenn ich mal 5KB überschritten hatte.

Auf welchem System? Ich meine bei SCO ODT 3.0 auch mal an eine solche
Schranke gestossen zu sein, aber das schien eher eine Schranke des Systems,
keine der shell zu sein ...

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

Helmut Schellong

unread,
Jul 21, 2001, 7:17:15 AM7/21/01
to
Stefan Wiens wrote:
>
> Helmut Schellong <sche...@t-online.de> writes:
>
> (irgendetwas stimmt mit deinem References:-Header nicht.)
> > Stefan Wiens wrote:

Ja, beim Senden (nicht davor) meldet der Browser/NewsServer
"Ref-Header zu lang".
Ich kürze dann per Hand.

> > Wenn es darum geht, das Tempo von mehreren Shells auf
> > mehreren BS zu messen, muß man Testquellen schreiben,
> > die möglichst weitgehend shell-intern arbeiten
> > und gleichzeitig von allen Shells gekonnt werden.
>
> Eine Zählschleife, in der nur ein Vergleich durchgeführt wird, benutzt
> niemand. Ich schreibe auch nicht "seq 1 10000 | grep 9000" statt "echo
> 9000". (Das ist aber immer noch schneller als Dein Script.)
>
> Komplizierte Berechnungen würde ich ebenfalls nicht unbedingt mit der
> Shell machen.

Ja, die Testscripts haben Pseudo-Charakter.
Aber dennoch, oder gerade deshalb, sind sie für
VERGLEICHE über BS hinweg geeignet.

> > 7# echo arch/*/*/*/* arch/*/*/*/* arch/*/*/*/* arch/*/*/*/*
> > bsh: Limit erreicht: 'Längensumme Argumente'
>
> Ich wollte übrigens ursprünglich "*/../*/../*"-Spielchen versuchen...
>
> > CSH 7] echo arch/*/*/*/* Argumente zu lang 8]
>
> > So, und jetzt würdest Du auch die csh als unbrauchbare
> > Software bezeichnen?
> > Die scheint bei 64KB Kommandozeile bereits Schluß zu machen.
>
> Die Brauchbarkeit von csh ist wohl umstritten. Ich kenne die aber
> nicht näher. [bc]sh considered harmful. ;-)

Siehe unten.

> > Dein Test, den Du als realistisch hinstellst, ist nämlich
> > ziemlicher Quatsch.
> > Willst Du den Inhalt einer ganzen CD in die Kommandozeile
> > expandieren können?
> > Dazu nimmt man 'find' oder 'bsh- list [-Rpfdo]'
>
> Ich benutze das öfters, meist zusammen mit "for". Insbesondere bei
> "for" liegt keine Kommandozeile im eigentlichen Sinne vor, deshalb
> halte ich Restriktionen für lästig.

Doch doch, bei for x in * wird genau so in die KDO-Zeile
expandiert, jedenfalls in der bsh.
for ist der KDO-Name, dann folgen Args...

> Die Beschränkung habe ich auch eher am Rande bemängelt. Solche Details
> sollten aber in Vergleiche einfließen, denn das Verwalten großer
> Speicherbereiche hat seinen Preis.

Durchaus.
Da die bsh zuerst als DOS16-Variante vorlag, war das dort
vernünftig, 4KB Args und 5KB Variablen, etc., zu fixieren,
damit man die bsh dort 3-mal verschachtelt starten konnte.

Die festen Array-Größen habe ich bis jetzt beibehalten,
nur bis zu 256KB vergrößert.
malloc/realloc gibt es NUR beim sortl-Kommando.

> >> Bereits bei wesentlich kürzeren Ausgaben fehlten in der bsh-Ausgabe
> >> mehrere Namen oder waren verstümmelt. Ferner war die Ausgabe
> >> abgehackt, und es fehlte das Newline am Dateiende. bsh gab trotz der
> >> fehlerhaften Ausgabe den Exitcode 0 und keinen Hinweis in stderr auf
> >> das unbrauchbare Ergebnis.
> >
> > Solche Fehler habe ich nie feststellen können.
> > Siehe oben meinen Test, der bei ksh/bsh identische
> > Resultate lieferte und bei Erreichen des Limits
> > sauber reagierte.
>
> Dann sind Deine Tests zu oberflächlich.

Ne, siehe unten.

> > Außerdem ist das schon recht seltsam.
> > Wenn ich readdir(.d_name) als Quelle verwende,
> > wie sollten dann irgendwelche Namen fehlen
> > oder abgehackt sein?
>
> Ich werde sicher keinen Disassembler darauf ansetzen.
> strace sagt genug.
>
> > Und warum sollte 'echo' einfach das obligatorische Newline
> > unterlassen?
>
> Wenn Du es wirklich wissen möchtest:
> (Man verzeihe mir bitte die langen Zeilen.)
>
> $ ls testdir
> <1eqo9rn.1u4klw81fzu58gN%cwi...@stud.uni-frankfurt.de>
> <1er74k7.1oom0vxe2tgsgN%vi...@gmx.net>
> <1erlnut.7io1t5mmahxcN%rau...@t-online.de>
> <1esj4l4.ia2e1u60kjgwN%mat...@gmx.de>
> <1etsahd.b6613ie017zkN%mark....@post.rwth-aachen.de>
> <1evzbhp.1r1xyc31j4tvvaN%Uwe.S...@gmx.de>
> $ ./995646259_24455_bsh_lx.bin
>

> Dieses Programm ist kostenlos und darf nur gem? einer


> speziellen FREE_LIZENZ benutzt werden. (s. lizenz.txt)
> Gewerblicher Einsatz dieser Software oder sonstige Verwendung
> mit Gewinnerzielungsabsicht ist nicht gestattet.
> Diese Software kann -anders als kostenpflichtige Vollversionen-
> Leistungs- und/oder Ressourcen-Beschneidungen enthalten.

> Alleiniger Eigent?mer des Copyright ist der Autor.


>
> bsh v3.21 LINUX, FreeLizenz, 11.Nov.2000
> Copyright (C) Helmut Schellong, Bad Salzuflen
> 1# for i in testdir/* ; do echo "$i" ; done
> testdir/<1etsahd.b6613ie017zkN%mark....@post.rwth-aachen.de>
> au...@t-online.de>io1t5mmahxcN
> testdir/<1esj4l4.ia2e1u60kjgwN%mat...@gmx.de>
> testdir/<1evzbhp.1r1xyc31j4tvvaN%Uwe.S...@gmx.de>
> testdir/<1eqo9rn.1u4klw81fzu58gNtestdir/<1er74k7.1oom0vxe2tgsgN
> i...@gmx.net>
> 2# echo testdir/*
> au...@t-online.de> testdir/<1esj4l4.ia2e1u60kjgwN%mat...@gmx.de> testdir/<1evzbhp.1r1xyc31j4tvvaN%Uwe.S...@gmx.de> testdir/<1eqo9rn.1u4klw81fzu58gN3# echo $?
> 0
> 4#
>
> Und dabei enthalten die Dateinamen nur printable ASCII...
>
> Komme jetzt bloß nicht damit, das sei (teilweise) so dokumentiert;
> derart tückische Mehrfachauswertung von /gequoteten/ Argumenten ist
> einfach unverantwortlich.
> Du hast "echo" oben auch ohne Bedenken eingesetzt.

Da Du jetzt Konkretes gezeigt hast, sehe ich auch sofort den Grund:
bsh hat '%' als Maskierzeichen. (-B ; set -B ==> \)
Für echo sind (\c \v \r) %c %v %r ... speziell!
echo hat vollkommen richtig reagiert!

Man nehme in solchen Fällen print -r args ... (raw-write)

Dies also ebenfalls kein bsh-Bug.

> Dagegen sind $IFS-Abgründe geradezu erholsam.
>
> Das implizite Erweitern von $PATH um "." ist ebenfalls starker Tobak,
> wie auch das unsichere Tempfile-Handling.

Keine bsh-Bugs,
sondern lediglich -teilweise- ungewohnte Defaults.

bsh ist neben csh-Familie und sh-Familie
eben eine dritte, eigenständige Lösung.

> Ähnlichkeit mit den bekannteren Shells ist nur sehr oberflächlich
> vorhanden. Den Eindruck von Kompatibilität zu erwecken, halte ich für
> eine Irreführung.

Ich habe nirgends von "ist kompatibel." geredet,
sondern "ist weitgehend kompatibel mit...".
Und das stimmt auch.
Die Syntaxkonstruktionen sind eindeutig über weite
Strecken vollkommen gleich mit ksh.

Helmut Schellong

unread,
Jul 21, 2001, 7:21:20 AM7/21/01
to
Gunnar Ritter wrote:
>
> Helmut Schellong <sche...@t-online.de> wrote:
>
> > Die Limits sind da derart gering, daß eine Forderung
> > nach 1 MB oder so, etwas komisch wirkt.
>
> Eines der Ziele wirklich geschickter Programmierung ist es, Limits ganz
> zu vermeiden. Steven Bourne hat das in meisterhafter Weise vorgemacht,
> indem er eine Shell völlig ohne artifizielle Beschränkungen geschrieben
> hat. Seither ist das einfach eine der Meßlatten für jedes Programm, das
> als Unix-Shell ernstgenommen werden soll. Du hast versagt.

Meinst Du, ich könnte mit malloc/realloc nicht umgehen?
Ich kann - wenn ich will.

> Und jetzt tu der Gruppe bitte einen Gefallen und verpiß Dich mitsamt
> Deinem bsh-Müll wieder in das Rattenloch, aus dem Du hervorgekrochen
> kamst, damit wir uns endlich wieder auf sachlich relevante Themen
> konzentrieren können. Danke.

Auf solche Fäkalien-Wütereien reagiere ich nicht.

Du bist unübertroffen in dieser Hinsicht: Der Große Fäk-Meister.

It is loading more messages.
0 new messages