Tengo algunas secuencias de comandos de Python en / usr / share / scripts / que uso con frecuencia, y quiero poder ejecutarlas simplemente escribiendo el nombre y no la ruta completa, ¿cómo podría hacer esto?
echo $ PATH me muestra:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer
Así que intenté escribir en la terminal:
PATH="/usr/share/scripts/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer"
export
No se muestran errores y echo $ PATH ahora muestra la ruta de mi nueva secuencia de comandos, pero cuando ejecuto scriptName obtengo el comando no encontrado.
¿Qué estoy haciendo mal?
Respuestas:
Establezca permisos ejecutables para scripts de python mediante "chmod + x *".
Ahora tiene dos opciones:
/usr/local/bin
directorio.Ejemplo:
[mzed@node02 test]$ vim printme.py
Contenido del archivo:
-
Espero que esto ayude.
fuente
De acuerdo, tal vez solo soy una escuela más antigua ...
En / usr / bin agregue scripts de shell con el encabezado #! / Bin / bash y sin extensión .sh. Luego, en esos scripts, simplemente ejecute python absolutepath.
Por qué creo que es mejor que las otras respuestas:
no requiere modificar sus scripts para que sean ejecutables.
No requiere renombrar sus scripts.
fuente
Perdón por sugerir algo básico ... ¿Intentaste "scriptname.py", en lugar de solo "scriptname"?
Además, todos los scripts deben tener permisos de ejecución (puede hacerlo emitiendo "chmod + x script.py"). A juzgar por su comentario anterior, ya que los ha ejecutado como "/ usr / share / scripts / scriptName. py args ", deberían tener permisos de ejecución.
fuente