Prueba esto:
- Guarde el script como
apt-proxy
(sin el.sh
extensión) en algún directorio, como~/bin
. - Agregar
~/bin
a tuPATH
, escribiendoexport PATH=$PATH:~/bin
- Si lo necesita permanentemente, agregue esa última línea en su
~/.bashrc
. Si estás usandozsh
, luego agrégalo a~/.zshrc
en su lugar. - Entonces puedes ejecutar
apt-proxy
con sus argumentos y se ejecutará en cualquier lugar.
Tenga en cuenta que si export
la variable PATH en una ventana específica no se actualizará en otras instancias de bash.
Quiere definir ese directorio a la variable de ruta, no al binario real, por ejemplo,
PATH=$MYDIR:$PATH
donde MYDIR
se define como el directorio que contiene su binario, por ejemplo,
PATH=/Users/username/bin:$PATH
Debe poner esto en su secuencia de comandos de inicio, p. .bashrc de modo que se ejecute cada vez que se invoque un proceso de shell.
Tenga en cuenta que el orden es importante, y la RUTA se evalúa de tal manera que si se encuentra un script que coincide con su nombre en una entrada anterior en la variable de ruta, entonces ese es el que ejecutará. Así que podrías nombra tu secuencia de comandos como apt-get
y ponerlo antes en el camino. Yo no haría eso ya que es confuso. Es posible que desee investigar los alias de shell en su lugar.
También observo que dice que funciona bien desde su directorio actual. Si con eso quiere decir que tiene el directorio actual en su ruta (.
) entonces eso es un riesgo potencial de seguridad. Alguien podría poner alguna variante troyana de una utilidad común (por ejemplo, ls
) en un directorio, luego te lleva a cd to
ese directorio y ejecutarlo sin darse cuenta.