Meine Frage scheint trivial zu sein, aber ich habe im Internet nichts Hilfreiches gefunden. Ich habe eine Binärdatei in
/urs/bin/binary
Es ist jedoch veraltet und eine neuere Version ist beispielsweise auf einigen Mount-Versionen verfügbar
/mount/new_version/binary
Und es gibt ein Bash-Skript, das diese Binärdatei in einer Form wie aufruft
binary -doSomething
Ich benötige dieses Skript, um eine neue Version der Binärdatei anstelle der alten aufzurufen, aber ich bin nicht berechtigt, dieses Skript zu ändern. Ist es eine Möglichkeit, den Pfad dorthin irgendwie zu überschreiben, aber nur für meinen Benutzer? Jede Hilfe wäre dankbar.
Antworten:
Wenn die Binärdatei aktiviert ist
/usr/bin/binary
und das Skript die Binärdatei aufruft, ohne den vollständigen Pfad anzugeben, sondern sich darauf verlässt,/usr/bin
dass sie vorhandenPATH
ist, können Sie einfach die Position der neuen Binärdatei am Anfang des Benutzers hinzufügenPATH
. Setzen Sie so etwas in ihre~/.bashrc
:Aus Sicherheitsgründen geben Skripte häufig den vollständigen Pfad zu Binärdateien an, um dies zu verhindern.
quelle
Wenn Sie Zugriff auf die Binärdatei haben, können Sie diese sichern und eine symbolische Verknüpfung erstellen.
[BEARBEITEN]
Entschuldigung, ich habe nicht gesehen, dass die Änderung nur für einen Benutzer durchgeführt werden muss.
Sie können anstelle der Binärdatei eine aufzurufende Funktion erstellen.
Abhängig davon, wie Sie die Binärdatei ausführen (vollständiger Pfad oder nur Name), müssen Sie eine geeignete Funktion erstellen , wie z.
Wenn die Binärdatei keine Argumente akzeptiert / benötigt, entfernen Sie das "$ @" .
Um die Funktionserstellung zu automatisieren, fügen Sie die Funktionszeilen in die Profildatei im Benutzerverzeichnis ein.
quelle
alias commandname=/mount/new_version/binary
in der .bashrc über der Pfadanweisung / Export oder im Profil wird einfach genug zu erreichen.
quelle