Agregar carpeta de script bash a la ruta?

16

Tengo algunos scripts de bash en una carpeta de aplicaciones que me gustaría usar como si estuvieran en mi camino. Si fueran aplicaciones directas, simplemente agregaría el directorio a ~ / .bashrc, pero estos son scripts.

p.ej:

~/a_dir/another_dir/foo.sh
~/a_dir/another_dir/foo-gui.sh

¿Hay una buena manera de configurar una ruta para que pueda usarlos desde cualquier directorio?

p.ej:

totally/different/path$ bash foo.sh
Abe
fuente
no podrá hacerlo bash foo.sh, pero con foo.sh, después de dar permiso ejecutivo y ponerlos en el $ PATH.
elias

Respuestas:

21

Sí, puede agregar cualquier directorio a la ruta del sistema. Una forma de hacer esto es actualizar la definición de RUTA (variable ambiental). Puede hacer esto en su .bashrcagregando las siguientes líneas:

PATH="/your/script/dir:${PATH}"
export PATH

Me gusta agregar mis scripts a $HOME/.local/bin/(que es un directorio oculto) para que mi directorio principal se mantenga más limpio.

Su directorio no se insertará en la variable PATH de inmediato, a menos que ejecute source .bashrc.

Puede agregar múltiples directorios a la ruta, recuerde eso. Consulte la documentación de BASH si no comprende el código.

El método anterior solo funcionará para su usuario. Si necesita agregar un directorio de script para todos los usuarios, haga como bodhi.zazen y agregue sus scripts a /usr/local/bin.

Severo Raz
fuente
Agregarlo antes anula los scripts del sistema, lo que significa que podría ser fácil reemplazarlos, lo que no siempre es bueno.
Wilf
9

En mi opinión, el mejor método es agregar los scripts a ~ / bin

mkdir ~/bin

~/bindebería agregarse automáticamente a su ruta. Si no, agregue esto a~/.bashrc

if [ -d $HOME/bin ]; then
    PATH=$PATH:$HOME/bin
fi

Si desea que estén disponibles para todos los usuarios, agréguelos a /usr/local/bin

Pantera
fuente
En este caso, dado que se trata de scripts de una aplicación, le aconsejo que coloque enlaces simbólicos para los scripts en ~/bin, para una mejor mantenibilidad.
elias
3

otra solución

  1. Agregar ruta para ~/.bashrcabrir usando vim$ vim ~/.bashrc

    ejemplo:

    # add extra paths export PATH=$PATH:~/Scripts

  2. una vez que se agrega la ruta, ejecute:

    $ source ~/.bashrc

  3. Si se agrega correctamente, no debería haber errores.

zulucoda
fuente