
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