Versuchen Sie Folgendes:
- Speichern Sie das Skript als
apt-proxy
(ohne die.sh
Erweiterung) in einem Verzeichnis, wie~/bin
. - Fügen Sie
~/bin
hinzu zu IhremPATH
, indem Sieexport PATH=$PATH:~/bin
eingeben - Wenn Sie es dauerhaft benötigen, fügen Sie die letzte Zeile in Ihrem
~/.bashrc
hinzu . Wenn Siezsh
verwenden , und fügen Sie es dann zu~/.zshrc
hinzu stattdessen. - Dann können Sie einfach
apt-proxy
ausführen mit Ihren Argumenten und es läuft überall.
Beachten Sie, dass wenn Sie export
Die PATH-Variable in einem bestimmten Fenster wird in anderen Bash-Instanzen nicht aktualisiert.
Sie möchten dieses Verzeichnis definieren auf die Pfadvariable, nicht auf die eigentliche Binärdatei, z. B.
PATH=$MYDIR:$PATH
wobei MYDIR
ist definiert als das Verzeichnis, das Ihre Binärdatei enthält, z. B.
PATH=/Users/username/bin:$PATH
Sie sollten dies in Ihr Startskript einfügen, z. .bashrc, sodass es jedes Mal ausgeführt wird, wenn ein Shell-Prozess aufgerufen wird.
Beachten Sie, dass die Reihenfolge wichtig ist und der PATH so ausgewertet wird, dass, wenn ein Skript, das Ihrem Namen entspricht, in einem früheren Eintrag in der Pfadvariablen gefunden wird, Sie dieses ausführen. Sie könnten Benennen Sie Ihr Skript als apt-get
und legen Sie es früher in den Pfad. Ich würde das nicht tun, weil es verwirrend ist. Vielleicht möchten Sie stattdessen Shell-Aliase untersuchen.
Ich stelle auch fest, dass Sie sagen, dass es von Ihrem aktuellen Verzeichnis aus einwandfrei funktioniert. Wenn Sie damit meinen, dass Sie das aktuelle Verzeichnis in Ihrem Pfad haben (.
) dann ist das ein potenzielles Sicherheitsrisiko. Jemand könnte eine Trojaner-Variante eines gängigen Dienstprogramms (z. B. ls
) in einem Verzeichnis, dann gelangen Sie zu cd to
dieses Verzeichnis und führen Sie es versehentlich aus.