Как передать параметры скрипту Python при запуске его с помощью скрипта Bash?

Как передать параметры скрипту Python при запуске его с помощью скрипта Bash?

Я пытаюсь создать приложение, которое будет работать из командной строки. Например application -h. Поэтому я помещаю в my скрипт bash, /usr/local/bin/который делает cd /path/to/application Then на следующей строке ./Main.py. Но если я выполняю команду it, он не получает -h. Однако, если я создаю псевдоним в my .bashrcс теми же командами, он работает просто отлично. Как мне изменить скрипт bash для работы с параметрами? И почему псевдоним работает, а скрипт нет?

решение1

Потому что скрипт оболочки не может знать, что вы хотите передать аргументы скрипту Python. Используйте

./Main.py "$@"

Также не используйте cd. Это избыточно. Просто используйте полный путь к ./Main.py или, что еще лучше, вообще избегайте скрипта-обертки, если в этом нет необходимости. Просто поместите ./Main.py в один из каталогов, которые являются частью вашей переменной $PATH, и вызовите ваш скрипт Python напрямую.

Главное то, что то, что вы пытаетесь сделать, вероятно, неправильно и ненужно, и есть лучшие способы сделать это.

Связанный контент