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):
- 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. - No olvides
chmod+x
cuando guarda su script en~/bin
. - 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 suCWD
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.