Unerwartete Datei "

Unerwartete Datei "

Ich habe eine unerwartete Datei namens [-- eine linke Klammer -- in meiner /bin-Datei auf meinem Mac Powerbook. Ich verwende Catalina. Wenn ich catdie Datei sehe, sieht sie aus wie Zeug von einer Apple-Zertifizierungsstelle. Das meiste davon ist unlesbar, aber es enthält Text wie

Apple Certification Authority

Und

PROGRAM:test PROJECT:shell_cmds-207.40.1 ??????i@[]missing ]!unexpected operator%s: %s%sclosing paren expectedargument expected%s: bad number%s: out of range)

Irgendeine Idee, was das sein könnte? Kommt mir verdächtig vor – den Fehlermeldungen zufolge, als ob da Quellcode drin wäre. Aber ich möchte es nicht einfach löschen, falls es eine Datei ist, die Apple braucht.

Antwort1

Die öffnende eckige Klammer, [, ist eine standardmäßige ausführbare Datei, die äquivalent zu ist testund syntaktischen Zucker beim Schreiben von Shell-Skripten bietet (d. h. sie „sieht gut aus“).

fruit="banana"
if [ banana = "$fruit" ]    # "[" really is an executable
then
    echo "Yum, yum"
fi

Oder

fruit="banana"
if test pear = "$fruit"
then
    echo "Yum, yum"
fi

Diese sind direkt gleichwertig.

In Wirklichkeit implementiert Ihre Shell wahrscheinlich beides [direkt test, sodass Ihre Shell den Befehl ausführt, wenn Sie sie aufrufen, anstatt dafür einen separaten Prozess auszuführen. Auch hier ist für Sie als Benutzer kein erkennbarer Unterschied erkennbar.

verwandte Informationen