[linux-l] Datum in Script verwenden

Nico Golde nion at gmx.net
Sa Apr 7 22:27:31 CEST 2007


Hallo Oswald,

* Oswald Buddenhagen <ossi at kde.org> [2007-04-07 22:12]:
> On Sat, Apr 07, 2007 at 09:51:42PM +0200, Nico Golde wrote:
> > * Oswald Buddenhagen <ossi at kde.org> [2007-04-07 21:44]:
> > > On Sat, Apr 07, 2007 at 07:57:41PM +0200, Nico Golde wrote:
> > > > Und? Was hast du erwartet, wenn du das durch eine Pipe schickst?
> > > >
> > > genau das, was passiert ist. wzbw.
> > > 
> > > > Egal hier meine sh-kompatible Version:
> > > > $ echo 456 | {
> > > > > foo=123
> > > > >  while read line; do
> > > > > foo=$line
> > > > > done;}
> > > > $ echo $foo
> > > > 456
> > > > 
> > > > getestet in ksh93
> > > > 
> > > aber offensichtlich nicht mit bash. oder dash.
> > 
> > LOL willst du mich verarschen? Seit wann sind bash und dash
> > Referenzimplementationen des POSIX?
> >
> sagen wir mal, daß das nicht praxisrelevant ist - oder hast du auf einem
> real existierenden system im urzustand eine ksh93 als /bin/sh gesehen?

Kannst du jetzt mal aufhören so ein Müll zu erzählen? Ja ich 
bin heute ein wenig genervt ;)
Vielleicht solltest du auch mal drüber nachdenken, deine 
Shell zu wechseln, die zsh tut das nämlich ohne Probleme...

Ob ksh nach /bin/sh gelinkt ist spielt auch überhaupt keine 
Rolle. Es ging darum eine sh kompatible Version des Problems 
zu schreiben, ich schreibe eine und dir passt das nicht. Und 
warum? Weil es in deiner Shell nicht geht, allerdings in 
meiner (zsh) und in _der_ sh-Shell ksh geht es.
Das Verhalten der ksh ist der POSIX-Standard für Shells und 
du kommst mir mit Praxisrelevanz, obwohl deine Shell es 
offensichtlich einfach nur nicht schafft sich an den 
Standard zu halten? HAHA

> > In der dash ist das übrigens ein Bug, ich gehe davon aus in bash auch.
> >
> na das glaub ich dir mal einfach. und schmeiße es in die "schöne
> perfekte welt"-schublade.
> 
> dein beispiel ist im übrigen overengineered. eigentlich müsste

Ist mir egal, es gibt bei Shellprogrammierern immer Leute, 
die dies oder das besser/anders machen würden, deswegen bin 
ich auch keiner.

> 
> $ foo=123
> $ echo 456 | while read line; do foo=$line; done
> $ echo $foo
> 
> dann nämlicht auch 456 ergeben. {} ist aber lediglich eine gruppierung,
> die im gegensatz zu () keine kontextisolation verursacht, aber definitiv
> keine bereits existierende isolation aufhebt.

Es funktioniert in _der_ POSIX-Shell und danach war gefragt, 
der Rest ist mir egal und wie das genau implementiert ist 
schau ich mir jetzt auch nicht im Quelltext an.
Gruß Nico

-- 
Nico Golde - http://www.ngolde.de
JAB: nion at jabber.ccc.de - GPG: 0x73647CFF
Forget about that mouse with 3/4/5 buttons,
gimme a keyboard with 103/104/105 keys!
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20070407/88be4814/attachment.sig>


Mehr Informationen über die Mailingliste linux-l