Создание программы командной строки на Linux (Raspbian или Ubuntu)

Создание программы командной строки на Linux (Raspbian или Ubuntu)

Моя цель — создать программу, которую можно будет установить и запустить с помощью Терминала.

Например,

  1. Пип установлен
  2. Пишем pip install numpyв терминале, и numpy устанавливается.

Проблемы, с которыми я сталкиваюсь:

  1. Мы пишем pipв терминале или командной строке, и он понимает, что такое pip. Я не могу придумать, как это сделать.

  2. После того, как указанная выше цель будет выполнена, мне нужно передать несколько аргументов, например, вместо того, чтобы install numpyэто выглядело как set color 4.

Язык, над которым я работаю — Python, а ОС — Raspbian.

К сожалению, я не знаю, существует ли терминология для таких проблем, не стесняйтесь редактировать.

решение1

1) Добавьте что-то вроде #!/usr/bin/env pythonв первую строку вашей основной программы Python (скажем, your_program), и сделайте ее исполняемой с помощью chmod a+x your_program. Затем ввод your_program(или ./your_program, если у вас нет .в вашем PATH) запустит вашу программу.

Подробности, напримерв этом вопросеили во многих других местах.

Возможно, вам захочется изменить свой профиль(и) оболочки, включив в него некоторые каталоги, PATHкуда вы можете поместить такие программы (у меня они /usr/local/binдля общесистемных программ и $HOME/binдля моих личных скриптов).

2) Для доступа к аргументам командной строки можно использовать sys.argv. Введение, напримерздесь, ссылка на библиотекуздесь.

Вы можете использовать другие библиотеки, такие какаргпарсилиgetoptкоторые в свою очередь используются sys.argvдля помощи в разборе параметров командной строки.

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