Versuchen Sie Folgendes:
- Speichern Sie das Skript als
apt-proxy(ohne die.shErweiterung) in einem Verzeichnis, wie~/bin. - Fügen Sie
~/binhinzu zu IhremPATH, indem Sieexport PATH=$PATH:~/bineingeben - Wenn Sie es dauerhaft benötigen, fügen Sie die letzte Zeile in Ihrem
~/.bashrchinzu . Wenn Siezshverwenden , und fügen Sie es dann zu~/.zshrchinzu stattdessen. - Dann können Sie einfach
apt-proxyausfü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.