[linux-l] Re: Mac und Linux

Oliver Bandel oliver at first.in-berlin.de
Di Aug 8 22:38:38 CEST 2006


On Tue, Aug 08, 2006 at 08:00:05PM +0000, Rocco Rutte wrote:
> Hi,
> 
> * Oliver Bandel [06-08-08 21:26:11 +0200] wrote:
> 
> >Ist die Bash so dermassen konfigurabel?
> 
> Sie hat mehr Features als andere Shells. Und damit sind Skripte, die mit 
> /bin/bash laufen nicht zwangsläufig portabel.
> 

Naja, hmhhh, dann muß man sich das .bashrc eben auch mitnehmen,
wenn man seine Scripts verteilt.
Oder in welcher Weise meinst Du es?

(Eigentlich doch ein Vorteil, ein konfigurables Umfeld zu haben.)

Ich selbst nehme Shells nur für manuelle Arbeiten und ein paar
Mini-Scriptchen. Alles, was größer wird, geht dann bei mir ganz schnell
auf Perl weiter, oder zunehmend auch auf OCaml (wobei Perl als Shell-Ersatz
schon doch ganz gut brauchbar ist; ich finde Perl's Syntax wesentlich
eingängiger als die Konstrukte der Shells).


> IMHO ist das ein Problem der Denkweise: ein Linux-System hat nicht 
> zwangsläufig eine bash und ein Tool muss auch nicht zwangsläufig die 
> glibc benutzen.
> 
> >Heute hatte ich mal etwas im Park gesessen und etwas Sonne getankt, und 
> >dann
> >ging mir das nochmal durch den Kopf.... Wenn man Args hat, wo man z.B.
> >$ programmname -o outfile -i infile 
> >hat, dann dachte ich: "Oh weh, und was dann?!", aber auch das würde ja 
> >passen:
> >==> argv: "programmname", "-o", "-i", "outfile", "infile"
> >geht also. Darf man nur nicht alphabetisch sortieren ;-)
> >Und wie das mir anderen Args ist habe ich mir noch nicht ausgeknobelt.
> 
> Der Output ist doch nicht etwa real, oder?
> 
> Eigentlich habe ich die Umsortierung so verstanden:
> 
>   $ foo -a 1 -b 2 3 * -x
> 
> wird zu:
> 
>   -a 1
>   -b 2 3
>   -x
>   *

So kann man das auch umsortieren, klar.

Muss man schauen, was einem lieber ist.
Ich meine, das sind dann wieder Programmier-Aspekte.
Der User gibt es ja ein wie oben.
Die Umsortierung, wie Du sie zeigst scheint mir das zu sein,
was üblich ist.
Zumindest kann man so dann auch mehrere Args pro switch haben.

Was macht man bei

  $ foo -a 1 -b 2 3 * -x blah 
und
  $ foo -a 1 -b 2 3 * -x *

?!

Soll das erste Element der Liste aus "*" zu "-x" gezählt werden, oder
soll es einen Syntax-Fehler geben, oder wird dann "-x" womöglich als
optional mit einem Parameter angesehen und man hat zwei mögliche
Arten, wie man das interpretieren kann?!
Ich weiss nicht, wie dies getopt() macht, müsste ich erst nachlesen.
Ich weiss aber, daß ich mir mehrere Sinnvolle Verhaltensweisen
vorstellen kann, wie man mit dem Fal umgehen könnte (wie eben genannt).

Ausserdem wäre eine Typprüfung ganz nett, die z.B. auch gleich int/char/string usw.
mit checkt...

  (sowas zum Beipiel: http://caml.inria.fr/pub/docs/manual-ocaml/libref/Arg.html)


Ciao,
   Oliver










> 
> weil die 1-3 gebunden sind (wenn man 2 Argumente für -b angibt).
> 
> Das ist aber richtig blöd, weil sie nicht genau sagen, wie sie 
> umsortieren. Es kann ja sein, dass die Gültigkeit von '1' davon abhängt 
> ob -b da ist oder nicht. Aber so kaputt kann getopt() der glibc ja nicht 
> sein, oder?
> 
>   bye, Rocco
> -- 
> :wq!
> _______________________________________________
> linux-l mailing list
> linux-l at mlists.in-berlin.de
> Die Mailingliste der BeLUG (Berliner Linux User Group)
> 
> Wenn du diese Mailingliste  abbestellen willst, gehe bitte auf
> https://mlists.in-berlin.de/mailman/listinfo/linux-l
> und trage dich dort bitte aus



Mehr Informationen über die Mailingliste linux-l