users permanently for change all linux bash shell path

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 su PATH , escribiendo export PATH=$PATH:~/bin
  • Si lo necesita permanentemente, agregue esa última línea en su ~/.bashrc . Si usa zsh , 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.