* David Haller schrieb am 16.Apr.2003:
On Tue, 15 Apr 2003, Jan Trippler wrote:
cnt=1 for file in "$@" do if test -d "$file"; then echo "Verzeichnisse können nicht nach $trash verschoben werden" continue
Und was ist mit Symlinks, Gerätedateien, Named Pipes und Sockets?
Ich hasse diese hirnrissige:
befehl if befehl_der_prueft_ob_befehl_ok; then ...
Entweder, ein Befehl gibt einen sinnvollen Exit-status zurueck, den muss man dann nicht auch noch mit 'test' ueberpruefen, um dann den Exit-status von 'test' auszuwerten.
ACK!
Folgendes illustriert diese beiten Ausnahmen, in denen $? sinnvoll ist:
Ich habe den $? in meinem Prompt eingebaut, halte ich auch für eine recht Sinnvolle Sache. So weiß ich immer, ob etwas geklappt hat oder nicht. Auch noch wenn ich zwischendurch blödsinnigerweise date oder ls oder sowas gesagt habe.
Was hast du eigentlich gegen $(( ))? Ja, $[] ist ein "bashism", aber $(( )) ist portabel "ueber" POSIX-shells. Allerdings nicht in bourne-shells. Aber die ash (die der bourne wohl recht nahe ist), kann auch das expr nicht, ist also egal ;) Die pdksh kann dagegen $(( )) und 'expr' aber nicht $[]. Oder gibt's ne (POSIX-)shell, die das expr kann, aber nicht das $(( ))? Ah, die tcsh kann expr, aber nicht $(( )), allerdings scheitert man da sowieso an den Variablenzuweisungen.
Was ist den mit $( )? Halte ich für schöner als ` ` ist aber nicht prtabel auf bourne-shells. Wie sieht es mit anderen shells aus?
Apropos shells: ich verwende das Teil auch viel zu selten, aber...
Guck einer an. perlsh kannte ich noch gar nicht, werde ich mir sicherlich mal ansehen müssen.
PS: Jan, solle' mer mal unsere "fiesen" Dateinamen sammeln und als tarball wo ablegen?
;) Bitte Kontrollzeichen im Namen nicht vergessen. *fg* Ich muß gestehen, daß ich mir Euer Skript nicht so genau angesehen habe, und hier in der Mail ist es ja reichlich zerstückelt. Aber habt Ihr auch bedacht, daß eine Datei auch ein Hardlink haben kann? Im gleichen Verzeichnis oder in einem anderen? Wird wahrscheinlich auch nur in $trash verschoben. Ist das so gewollt? Ich glaube, die ganze Verschieberrei wirft weit mehr Probleme auf, als es löst. Vor allem verläßt man sich darauf und wird schludrig bei der Verwendung von rm. Bernd -- Bitte die Etikette beachten: http://www.suse-etikette.de.vu/etikette.html Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen, sonst nichts. |Zufallssignatur 4