Einige Homebrew Formeln haben Namen , die mit einem der installierten Befehle nicht entsprechen (zB coreutils
, speech-tools
), andere Formeln bieten ein Befehl, der mit dem Namen übereinstimmt, sondern auch anderen zur Verfügung stellen daneben (zB lua
).
Gibt es eine einfache Möglichkeit zu bestimmen, welche Befehle einer bestimmten Formel zugeordnet sind? Idealerweise als brew <arg>
Befehl vor der Installation, aber auch ein Shell-Skript, das ich nach der Installation verwenden könnte, würde helfen.
Ich dachte, ich könnte diese Informationen möglicherweise mit a herausfinden brew link --dry-run <formula>
, aber das gibt mir normalerweise nur eine Warnung, dass die Formel bereits verknüpft ist (sogar mit dem Befehl --overwrite
oder --force
dem Befehl hinzugefügt). Ich möchte nicht jedes Mal die Verknüpfung aufheben müssen, wenn ich die Befehle sehen möchte, daher scheint diese Route nicht hilfreich zu sein.
quelle
Antworten:
Wie die Antwort von bmike zeigt, gibt es neben dem Durchsuchen der Projektquelle, um festzustellen, welche ausführbaren Dateien installiert werden, keine gute Möglichkeit, vor der Installation festzustellen, welche Befehle mit einer bestimmten Formel geliefert werden.
Nachdem eine Formel installiert wurde, wird ausgeführt
ist jetzt eine praktikable Option,
--dry-run
die für verfügbar istbrew unlink
.Bevor das hinzugefügt wurde, habe ich einen externen Befehl namens geschrieben
brew executables
, der noch einige Vorteile gegenüber den oben genannten hat (hauptsächlich beim Formatieren und Behandeln einiger Links etwas anders). Ich werde hier eine vereinfachte (und wahrscheinlich nicht funktionierende) Version einfügen, da einige Variablenzuweisungen fehlen:Kurz gesagt, es zieht die Liste der ausführbaren Dateien heraus
$(brew --prefix)/$formula/$version_in_use/bin
. Die Version auf meinem GitHub ist etwas ausführlicher, einschließlich einiger zusätzlicher Funktionen zum Identifizieren / Anzeigen, wenn sich in diesem bin-Verzeichnis Befehle befinden, die miteinander verknüpft sind.quelle
brew install grep
). Der Befehl lautet wie folgt: Diebrew unlink --dry-run grep | ggrep --color=always -P "$(brew --prefix)/bin/\K.*"
Ausgabe erfolgt wie in diesem Screenshot dargestellt.Ich habe Homebrew-command-not-found geschrieben , um das Gegenteil zu tun: eine Formel aus einer ausführbaren Datei abrufen. Es gibt keine einfache Möglichkeit, die ausführbaren Dateien einer Formel abzurufen, wie andere Antworten hervorheben. Also habe ich alle Homebrew-Formeln installiert und alle ausführbaren Dateien in einer Datei aufgezeichnet.
Sie finden es hier . Jede Formel hat eine eigene Zeile mit folgendem Format:
Es ist also so einfach
grep ^git: executables.txt
, die ausführbaren Dateien durch diegit
Formel zu installieren .Die Datei wird täglich aktualisiert und umfasst mehr als 20.000 Befehle für mehr als 5.000 Formeln aus dem Kern und den offiziellen Taps. Beachten Sie jedoch, dass einige Formeln unterschiedliche ausführbare Dateien installieren, wenn Sie bestimmte Optionen verwenden. Ich unterstütze sie hier nicht.
quelle
Im Allgemeinen - nein.
Homebrew installiert keine Paketbelege. Auf diese Weise entscheiden die aktuellen Tools umfassend und korrekt, was wo installiert wird.
Manchmal können Sie
brew list
Dinge überprüfen, aber ich habe herausgefunden, dass Homebrew am besten über Github überprüft werden kann - das den Quellcode für alle Tools und alle Pakete veröffentlicht.Meine Lieblingssuchmaschine hat sogar! Befehle, die das Durchsuchen von Github vereinfachen:
Google macht einen anständigen Job und rangiert Homebrew ziemlich hoch sowie Github
Auch
brew info
undbrew home
oft geben Ihnen einen direkten Link zu dem Projekt Quelle zu überprüfen , ob Ihr Verdacht richtig ist. Wie Sie vermuten, besteht die eigentliche Prüfung darin, zu deinstallieren / neu zu installieren und zu beobachten. Nicht lustig, aber effektiv.quelle
!
Befehlen hinweisen ?