Ich war auf der Suche auf coreutils und fand diese als eine der im Rahmen enthaltenen Dateien von coreutils: /usr/bin/[
. Was ist [
und was macht es?
Es ist eine ausführbare Datei. Ich weiß einfach nicht, was es macht oder wie man es benutzt.
$ file / usr / bin / [
/ usr / bin / [: ELF-32-Bit-LSB-Programm, Intel 80386, Version 1 (SYSV), dynamisch verknüpft (verwendet gemeinsam genutzte Bibliotheken), für GNU / Linux 2.6.15, entfernt
Wenn ich versuche, es auszuführen, denke ich, dass es standardmäßig die eingebaute Zeilenerweiterung Bash ist. Anstatt die Datei tatsächlich auszuführen.
$ "/ usr / bin / ["
/ usr / bin / [: missing ] ']' $ /usr/bin/\[
/usr/bin/[: missing
man [
funktioniert unter OS X.Antworten:
Es ist eine Entsprechung des Befehls
test
. (Sieheinfo test
.) Im Allgemeinen verwenden Sie es in Skripten in bedingten Ausdrücken wie:Die schließende Klammer wird benötigt, um die Bedingung einzuschließen. (Nun, es sieht so aus, als ob es nur erforderlich wäre, um im Code besser auszusehen. Kennt jemand einen anderen praktischen Grund dafür?)
quelle
[
ist sowohl eine Schale und ein externes Programm mit dem gleichen (oder ähnlichen) verbrauch eingebaut. In der Bash, wenn Sie ausführen[
odertest
das integrierte Programm aufrufen.Es entspricht dem
test
Befehl.Anstatt
Sie können verwenden:
Es kann auch in Schleifen verwendet werden:
Sie können sie auch in Einzeiler wie folgt verwenden:
quelle