![Como posso passar parâmetros para um script python ao executá-lo com um script bash?](https://rvso.com/image/1000368/Como%20posso%20passar%20par%C3%A2metros%20para%20um%20script%20python%20ao%20execut%C3%A1-lo%20com%20um%20script%20bash%3F%20.png)
Estou tentando fazer um aplicativo que funcione na linha de comando. Por exemplo application -h
. Então coloquei um script bash no meu /usr/local/bin/
que faz cd /path/to/application
Then na próxima linha ./Main.py
. Mas se eu executar o comando ele não receberá o arquivo -h
. No entanto, se eu fizer um alias no meu .bashrc
com os mesmos comandos, ele funcionará perfeitamente. Como eu poderia alterar o script bash para funcionar com parâmetros? E por que o alias funciona, mas não o script?
Responder1
Porque o shell script não tem como saber que você deseja passar argumentos para o seu script Python. Usar
./Main.py "$@"
Também não use cd
. É redundante. Basta usar o caminho completo para ./Main.py ou, melhor ainda, evitar ter um script wrapper, a menos que seja necessário. Basta colocar ./Main.py em um dos diretórios que fazem parte da sua variável $PATH e chamar seu script Python diretamente.
O ponto principal é que o que você está tentando fazer provavelmente é errado e desnecessário, e existem maneiras melhores de fazer isso