![¿Cómo puedo pasar parámetros a un script de Python cuando lo ejecuto con un script de bash?](https://rvso.com/image/1000368/%C2%BFC%C3%B3mo%20puedo%20pasar%20par%C3%A1metros%20a%20un%20script%20de%20Python%20cuando%20lo%20ejecuto%20con%20un%20script%20de%20bash%3F%20.png)
Estoy intentando crear una aplicación que funcione desde la línea de comandos. Por ejemplo application -h
. Entonces puse un script bash en mi /usr/local/bin/
que hace cd /path/to/application
Luego en la siguiente línea ./Main.py
. Pero si ejecuto el comando, no recibe el archivo -h
. Sin embargo, si hago un alias .bashrc
con los mismos comandos, funciona bien. ¿Cómo podría cambiar el script bash para que funcione con parámetros? ¿Y por qué funciona el alias pero no el script?
Respuesta1
Porque el script de shell no tiene forma de saber que desea pasar argumentos a su script de Python. Usar
./Main.py "$@"
Tampoco lo use cd
. Es redundante. Simplemente use la ruta completa a ./Main.py, o mejor aún, evite tener un script contenedor por completo, a menos que sea necesario. Simplemente coloque ./Main.py en uno de los directorios que forman parte de su variable $PATH y llame a su script Python directamente.
El punto principal es que lo que intentas hacer probablemente sea incorrecto e innecesario, y hay mejores formas de hacerlo.