GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo instalo un script para que se ejecute en cualquier lugar desde la línea de comandos?

Tutorial para hacer que una secuencia de comandos de Python esté disponible en cualquier lugar:

Hacer un script de python:

cd /home/el/bin
touch stuff.py
chmod +x stuff.py

Descubre dónde está tu python:

which python
/usr/bin/python

Pon este código ahí:

#!/usr/bin/python
print "hi"

Ejecutar en él el mismo directorio:

python stuff.py

Sube un directorio y no está disponible:

cd ..
stuff.py

-bash: stuff.py: command not found

¡No encontrado! Es como esperamos, agregue la ruta del archivo del archivo python a $PATH

vi ~/.bashrc

Añadir el archivo:

export PATH=$PATH:/home/el/bin

Guárdelo, vuelva a aplicar el .bashrc y vuelva a intentarlo

source ~/.bashrc

Inténtalo de nuevo:

cd /home/el
stuff.py

Impresiones:

hi

El truco es que bash shell conoce el idioma del archivo a través de shebang.


Solo crea ~/bin y pon export PATH=$PATH:$HOME/bin en su bashrc/perfil. No te metas con el sistema, lo hará morderte de vuelta, créeme.

Algunas cosas más (relevantes para la pregunta pero no parte de la respuesta):

  1. Al revés export PATH=$HOME/bin:$PATH NO es seguro, porque bash buscará en su ~/bin carpeta para ejecutables, y si su nombre coincide con otros ejecutables en su $PATH original te sorprenderá la ejecución de comandos inesperados o que no funcionen.
  2. No olvides chmod+x cuando guarda su script en ~/bin .
  3. Sea consciente de lo que está poniendo en su ~/bin carpeta, si solo está probando algo o trabajando en un script sin terminar, siempre es mejor usar ./$SCRIPT_NAME de su CWD para ejecutar el script que ponerlo bajo ~/bin .

El mejor lugar para poner cosas como esta es /usr/local/bin .

Este es el lugar normal para colocar binarios personalizados instalados y debería estar al principio de su PATH .

Simplemente copie el script allí (probablemente usando sudo ), y debería funcionar para cualquier usuario.


Linux
  1. Cómo instalar software desde la línea de comandos de Linux

  2. Cómo ejecutar consultas MySQL/MariaDB directamente desde la línea de comandos de Linux

  3. ¿Cómo silenciar desde la línea de comandos?

  4. Cómo ejecutar scripts de Python desde shell

  5. ¿Cómo envío un correo electrónico desde la línea de comandos?

Cómo usar Ranger para navegar archivos desde la línea de comandos

Cómo instalar actualizaciones de seguridad desde la línea de comandos en Ubuntu

Cómo ejecutar un script de Python en PHP

Googler:ejecuta búsquedas en Google desde la línea de comandos

¿Cómo instalar Google Chrome en Ubuntu 18.04 usando la línea de comandos?

Cómo ejecutar TeX desde la interfaz de línea de comandos en Linux