+ Antworten
Ergebnis 1 bis 9 von 9
  1. #1
    Dunerkahl
    Inaktiv

    komisches Programm namens "[" in /bin

    Hallo,
    ich hab gerade ein merkwürdiges Programm in /bin entdeckt, es heißt einfach nur "[".
    Habt ihr sowas auch in eurem /bin-ordner ? Mir erscheint das nämlich unwohl.
    Hier noch n Screen:

    MfG Zoddl
    p.s. ich hab 10.4.6

  2. #2
    Hadelner Sommerprinz Avatar von quarx
    Registriert
    04.2005
    Ort
    Budenheim
    Alter
    36
    Beiträge
    8.520
    Zitat Zitat von Dunerkahl
    Hallo,
    ich hab gerade ein merkwürdiges Programm in /bin entdeckt, es heißt einfach nur "[".
    Habt ihr sowas auch in eurem /bin-ordner ? Mir erscheint das nämlich unwohl.
    Moin, ja das ist bei mir auch unter /bin vorhanden. Weiß aber auch nicht, wofür das gut sein soll.

    P.S.: Unter Linux (Debian) liegt unter /bin jedenfalls keine eckige Klammer rum, das muss was Darwin-spezifisches sein. s.u. ...
    Geändert von quarx (19.04.2006 um 10:24 Uhr)
    Wer A sagt, muss auch Rev. B sagen.
    AT-Bingo: #01 | #02 | #03 | #04 | #05 | #06

  3. #3
    Stina Lohmann Avatar von kauan
    Registriert
    12.2005
    Ort
    Bern
    Alter
    24
    Beiträge
    1.036
    Zitat Zitat von quarx
    P.S.: Unter Linux (Debian) liegt unter /bin jedenfalls keine eckige Klammer rum, das muss was Darwin-spezifisches sein.
    Debian Linux Server, auf dem ich Zugang habe:
    Code:
    gna$ which [
    /usr/bin/[
    Das Ding ist dasselbe wie der Command test.

    Code:
    gna$ if test -f moo.txt; then echo foo; else echo bar; fi
    foo
    gna$ if [ -f moo.txt ]; then echo foo; else echo bar; fi
    foo
    Gruss
    Jonathan
    dieser satz kein verb.

  4. #4
    Hadelner Sommerprinz Avatar von quarx
    Registriert
    04.2005
    Ort
    Budenheim
    Alter
    36
    Beiträge
    8.520
    Ah, merci. An "which" zu denken war gestern zu spät...
    Wer A sagt, muss auch Rev. B sagen.
    AT-Bingo: #01 | #02 | #03 | #04 | #05 | #06

  5. #5
    Stina Lohmann Avatar von kauan
    Registriert
    12.2005
    Ort
    Bern
    Alter
    24
    Beiträge
    1.036
    Hehe
    fuer mich erschliesst sich aber die Bedeutung der zweiten Klammer nicht ganz. Okay, eine Klammer darf bei der Shell-Syntax nicht nur geoeffnet und nicht geschlossen werden, aber wieso ist denn das Zeichen ] an dieser Stelle erlaubt..? Wird das von Test einfach ignoriert?
    dieser satz kein verb.

  6. #6
    Hadelner Sommerprinz Avatar von quarx
    Registriert
    04.2005
    Ort
    Budenheim
    Alter
    36
    Beiträge
    8.520
    Von test nicht, aber anscheinend von [. In der info-Page von test steht Folgendes:
    `test' has an alternate form that uses opening and closing square
    brackets instead a leading `test'. For example, instead of `test -d
    /', you can write `[ -d / ]'. The square brackets must be separate
    arguments; for example, `[-d /]' does not have the desired effect.
    Since `test EXPR' and `[ EXPR ]' have the same meaning, only the former
    form is discussed below.
    '[EXPR]' sieht - finde ich - schöner aus als 'test EXPR'.
    Wer A sagt, muss auch Rev. B sagen.
    AT-Bingo: #01 | #02 | #03 | #04 | #05 | #06

  7. #7
    Dunerkahl
    Inaktiv
    Aber wer kommt auf die Idee, ein Programm "[" zu nennen? Naja ^^

  8. #8
    Damasonrenette
    Registriert
    11.2005
    Beiträge
    494
    Auf die Idee kommt man, wenn man "if [ wasimmer ]" statt "if test wasimmer" benutzen möchte?

    "test" ist nichts eingebautes, "test" ist ein Programm. /bin/test. "if 'programm liefert "wahr" zurück', dann mach wasimmer" hat den großen vorteil, daß die Testbedingung beliebig komplex sein kann. if Programm-"transferiere daten und schicke mail" war errfolgreich, dann...

  9. #9
    Normande Avatar von lodger
    Registriert
    09.2005
    Ort
    Düsseldorf
    Alter
    38
    Beiträge
    578
    Zitat Zitat von Nogger
    Auf die Idee kommt man, wenn man "if [ wasimmer ]" statt "if test wasimmer" benutzen möchte?

    "test" ist nichts eingebautes, "test" ist ein Programm. /bin/test. "if 'programm liefert "wahr" zurück', dann mach wasimmer" hat den großen vorteil, daß die Testbedingung beliebig komplex sein kann. if Programm-"transferiere daten und schicke mail" war errfolgreich, dann...
    Hinzu kommt, das UNIX Systeme ihre Wurzeln im Mainframe Bereich haben. Und die waren seinerzeit oft via Fernschreiber angebunden. Da war die Schreibweise mit der eckigen Klammer durchaus eine Erleichterung bei der Tipparbeit. So seltsam das kingt, aber viele UNIX Befehle haben daher recht kurze namen: cp statt copy, ls statt list usw. usf.

    Etwas Off-Topic, aber sehr nett zu lesen ist übrigens die wahre Geschichte des vi Editors
    Zitat: "Das ganze Unglück der Menschen rührt allein daher, dass sie nicht ruhig in einem Zimmer zu bleiben vermögen." (Blaise Pascal 1623-1662)


Ähnliche Themen

  1. Programm "Internet-Verbindung" gelöscht
    Von neokling im Forum OS X
    Antworten: 4
    Letzter Beitrag: 04.04.2006, 07:30
  2. ein brettspiel namens "dame" such iiii
    Von uwe& im Forum Spiele
    Antworten: 5
    Letzter Beitrag: 19.02.2006, 20:51

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein