Wie kann ich für dasselbe Programm unter Linux/Mac eine andere Binärdatei zuordnen?

Wie kann ich für dasselbe Programm unter Linux/Mac eine andere Binärdatei zuordnen?

Angenommen, es which Rgibt zurück /opt/anaconda3/bin/Rund angenommen, ich habe andere RBinärdateien an anderen Speicherorten und möchte, dass eine andere R-Binärdatei ausgeführt wird, wenn ich eingebe R.

Wie kann ich das erreichen?ohne

  • Löschen einer der R-Binärdateien
  • Verschieben von Dateien

Um zu prüfen, ob es funktioniert hat, Rsollte es ausgeführt werden /some/other/location/R(und which Rwürde zurückgeben /some/other/location/R)

Antwort1

Sie haben einige Möglichkeiten.

  • Ändern Sie die PATHVariable, damit die Verzeichnisse in einer anderen Reihenfolge durchsucht werden. Dies wirkt sich auf alle Programme in diesen Verzeichnissen aus.
  • Verwenden Sie unter Debian Debian-Alternativen (Debian und Derivate). Und nur manchmal sinnvoll.
  • Richten Sie ein /opt/bin-overrideVerzeichnis ein, fügen Sie es dem Kopf der Datei hinzu PATHund fügen Sie symbolische Links zu den Befehlen hinzu, die Sie ausführen möchten.
  • Fügen Sie Aliase zu Ihrem ~/.bash_aliasesoder /etc/bash.bashrczB hinzu
    alias R="/some/other/location/R"

verwandte Informationen