[linux-l] Re: Mac und Linux

Rocco Rutte pdmef at cs.tu-berlin.de
Di Aug 8 22:52:28 CEST 2006


Hi,

* Oliver Bandel [06-08-08 22:38:38 +0200] wrote:
>On Tue, Aug 08, 2006 at 08:00:05PM +0000, Rocco Rutte wrote:
>> * 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?

Die .bashrc sollte nur bei interaktiven Sessions gelesen werden, oder?

Ich meine es anders: auch unter Linux muss es /bin/bash nicht geben. 
Selbst wenn es eine Bash gibt, kann es auch woanders installiert sein.

Wenn ich eine Shell wollte, dann bekäme ich nur /usr/local/bin/bash.

Und leider ist vielen eben nicht bewusst, dass 1) eine Bash optional ist 
und 2) der Pfad eventuell /bin/bash ist. Viele erkennen sowas nicht als 
Dependency und schreiben es nicht groß drauf.

>Was macht man bei

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

>?!

Das gleich wie bei:

   $ foo -a 1 -b 2 3 -x blah *
   $ 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?!

So blöd es klingt: Ausprobieren, wenn umsortiert wird. Oder halt 
getopt() nicht benutzen, genau deswegen.

Und mein Hauptkritikpunkt ist ja, dass das auf extrem viele Tools 
durschlägt. Wenn man ein optionales für -x hat und dann:

   $ foo -x *
   $ foo * -x

macht, hat dann -x in beiden Fällen ein Argument mit Umsortierung?

Klar, GNU getopt() hat ja noch zwei weitere Modi. Aber Software kann 
auch nach gblic portiert werden und da liesst niemand für getopt() die 
Manpage... :(

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

Das ist doch aber völliges Over-Engineering. Sowas darf nur die 
Anwendung wissen müssen. Andere rumraten lassen ist böse.

   bye, Rocco
-- 
:wq!



Mehr Informationen über die Mailingliste linux-l