Como posso passar parâmetros para um script python ao executá-lo com um script bash? [fechadas]

1

Estou tentando criar um aplicativo que funcione na linha de comando. Por exemplo, application -h . Então eu coloquei um script bash no meu /usr/local/bin/ que faz cd /path/to/application Então, na próxima linha ./Main.py . Mas se eu executar o comando, ele não receberá o -h . No entanto, se eu fizer um alias no meu .bashrc com os mesmos comandos, ele funcionará bem. Como eu poderia mudar o script bash para trabalhar com parâmetros? E por que o alias funciona, mas não o script?

    
por Peyto 20.05.2017 / 03:41

1 resposta

5

Como o script de shell não tem como saber se você deseja passar argumentos para o seu script Python. Use

./Main.py "$@"

Também não use cd . É redundante. Apenas use o caminho completo para ./Main.py, ou melhor, evite ter um script wrapper, a menos que seja necessário. Basta colocar ./Main.py em um dos diretórios que fazem parte de 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 há maneiras melhores de fazer isso

    
por Sergiy Kolodyazhnyy 20.05.2017 / 03:47