¿Agregar la carpeta de script bash a la ruta?

Tengo algunos scripts de bash en una carpeta de aplicación que me gustaría usar como si estuvieran en mi ruta. Si fueran aplicaciones directas, solo 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 

Sí, puede agregar cualquier directorio a la ruta del sistema. Una forma de hacerlo es actualizar la definición de PATH (variable de entorno). Puedes hacer esto en tu .bashrc agregando 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 de inicio se mantenga más limpio.

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

Puedes agregar múltiples directorios a la ruta, recuerda eso. Consulte la documentación de BASH si no entiende 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 .

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

 mkdir ~/bin 

~/bin debe agregarse automáticamente a su ruta. Si no, agrega 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

otra solución

  1. Agregar ruta a ~/.bashrc abierto usando vim $ vim ~/.bashrc

    ejemplo:

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

  2. una vez que se agrega la ruta de ejecución

    $ source ~/.bashrc

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