permanently - linux set path for all users
Agregar un script bash a la ruta (3)
Desea definir ese directorio para la variable de ruta, no el 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, por ejemplo .bashrc, de manera que se ejecute cada vez que se invoca un proceso de shell.
Tenga en cuenta que el orden es importante, y la RUTA se evalúa de forma que si se encuentra una secuencia de comandos que coincide con su nombre en una entrada anterior en la variable de ruta, entonces esa será la que ejecutará. De modo que podría nombrar su script como apt-get
y colocarlo antes en la ruta. No haría eso ya que es confuso. Es posible que desee investigar los alias de shell en su lugar.
También observo que dices que funciona bien desde tu directorio actual. Si con eso quiere decir que tiene el directorio actual en su ruta ( .
) Entonces ese es un riesgo de seguridad potencial. Alguien podría poner alguna variante troyana de una utilidad común (por ejemplo, ls
) en un directorio, luego hacer que cd to
ese directorio y ejecutarlo inadvertidamente.
Quiero agregar una pequeña secuencia de comandos a la vía de acceso de Linux, así que no tengo que ejecutarla donde está colocada físicamente en el disco.
La secuencia de comandos es bastante simple, se trata de dar acceso a apt-get a través de un proxy. Lo hice así:
#!/bin/bash
array=( $@ )
len=${#array[@]}
_args=${array[@]:1:$len}
sudo http_proxy="http://user:password@server:port" apt-get $_args
Luego guardé esto como apt-proxy.sh, lo puse en + x (chmod) y todo está funcionando bien cuando estoy en el directorio donde se encuentra este archivo.
Mi pregunta es: ¿cómo agregar este apt-proxy a PATH para poder llamarlo realmente como si fuera el verdadero apt-get? [de donde sea]
En busca de soluciones de línea de comando, si sabes cómo hacerlo por GUI es bueno, pero no es lo que estoy buscando .
cree un alias para el ejecutable en el archivo ~ / .bash_profile y luego úselo desde cualquier lugar o puede buscar el directorio que contiene los ejecutables que necesita ejecutar desde cualquier lugar y eso le servirá.
Prueba esto:
- Guarde el script como
apt-proxy
(sin la extensión.sh
) en algún directorio, como~/bin
. - Agregue
~/bin
a suPATH
, escribiendoexport PATH=$PATH:~/bin
- Si lo necesita permanentemente, agregue esa última línea en su
~/.bashrc
. Si usazsh
, agréguelo a~/.zshrc
. - Luego puedes ejecutar
apt-proxy
con tus 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 bash.