[linux-l] Re: Mac und Linux

Rocco Rutte pdmef at cs.tu-berlin.de
Do Aug 3 13:47:58 CEST 2006


Hi,

* Oliver Bandel [06-08-03 13:30:43 +0200] wrote:

>Naja, wenn man es als konsequent betrachtet, nicht als Schikane,
>dann ist Linux da inkonsequent: erst die Switsches, dann die anderen
>Args.

Die glibc nehme ich an. IMHO ist es dennoch ein Bug und ich habe 
irgendwo eine sehr lange Diskussion darüber im Hinterkopf (evtl. d.a.s.r 
oder so in der Richtung). Also benutze ich wohl kein getopt() mehr für 
Software, die mit der glibc laufen könnte.

IMHO hat getopt() da überhaupt nichts an den Argumenten zu fummeln; es 
hat sie genauso weiterzugeben wie es sie von der Shell bekommt und nur 
eben auf zustätzliche Optionen pro Argument zu gucken.

>"-l" wird jedenfalls bei "ls * -l" unter OS-X angemeckert mit der Meldung,
>es gäbe keine Datei namens "-l".

Hier auch, was sonst? Das kann aber auch andere Ursachen haben... :)

>Wobei ich finde, daß das - wenn man es unter dem Gesichtspunkt der
>Sicherheit betrachtet - auch garnicht mal so schlecht ist, daß
>immer erst die Switches kommen und dann andere Args folgen.

Naja, es gibt aber Streng genommen keine "Switches" und "normale" 
Argumente. Es sind alles Argumente, von denen das letztendliche Programm 
einigen (mit '-' am Anfang) eine spezielle Semantik zuweist.

Als Programmierer möchte ich die _exakt_ so bekommen wie der User sie 
mir gibt, auch in der Reihenfolge. Es gibt ja Situationen, in denen die 
Reihenfolge eine Rolle spielt. Als blödes Beispiel mal sowas wie git 
(die kein getopt() benutzen):

   $ git commit -a -v

wäre dann wohl:

   $ git -a -v commit

Pfui, nein, danke (auch wenn ich mit getopt() -a und -v wohl überhaupt 
nicht sehen würde, evtl.). :)

   bye, Rocco
-- 
:wq!



Mehr Informationen über die Mailingliste linux-l