Python - очень популярный язык программирования для написания различных системных скриптов в Linux. В Windows, там где не хватает возможностей командной оболочки используется PowerShell. В Linux же, когда возможностей Bash не хватает используется язык Python.
На этом языке написано огромное количество системных программ, среди них пакетный менеджер apt, видеоредактор OpenShot, а также множество скриптов, которые вы можете установить с помощью утилиты pip. В этой небольшой статье мы рассмотрим как запустить Python скрипт в Linux с помощью терминала различными способами.
Запуск python скрипта в Linux
Для примера нам понадобится Python скрипт. Чтобы не брать какой-либо из существующих скриптов, давайте напишем свой:
vi script.py
Для того чтобы запустить скрипт необходимо передать его интерпретатору Python. Для этого просто откройте терминал с помощью сочетания клавиш Ctrl + Alt + T, перейдите в папку со скриптом и выполните:
python script.py
Если вы хотите, чтобы после выполнения скрипта открылась консоль, в которой можно интерактивно выполнять команды языка Python используйте опцию -i:
python -i script.py
Но как вы могли заметить, при запуске apt или openshot не надо писать слово python. Это намного удобнее. Давайте разберемся как это реализовать. Если вы не хотите указывать интерпретатор в командной строке, его надо указать в самом скрипте. Для этого следует в начало скрипта добавить такую строчку:
vi script.py
Сохраните изменения, а затем сделайте файл скрипта исполняемым с помощью такой команды:
chmod ugo+x script.py
После этого можно запустить скрипт Python просто обращаясь к его файлу:
./script.py
Если убрать расширение .py и переместить скрипт в каталог, находящийся в переменной PATH, например /usr/bin/, то его можно будет выполнять вот так:
script
Как видите, запуск команды python Linux выполняется довольно просто и для этого даже есть несколько способов. А каким способом пользуетесь вы? Напишите в комментариях!
Ещё его можно в бинарник скомпилировать.
В python не ставится точка с запятой после операторов. Ещё в большинстве дистрибутивов установлены две версии python, 2.7 и 3. Команда python script.py запустит скрипт в версии python 2.7, комнада
python3 script.py в верси 3
Привет.
А можно кто-то написать скрипт чтобы автоматизировать подключение к VPN?
Сейчас мне надо в терминале выполнять команды:
cd Folder/Folder
--config file.ovpn
Потом в терминале запрашивается имя пользователя. После успешного ввода запрашивается пароль.
Пока мне не удалось найти решение чтобы запуском скрипта вводились команды, а потом логин и пароль.
Может кто-то подскажет?
Использую Линукс (Федору) 3й день. До этого не сталкивался )
Спасибо.
Часто используют виртуальные окружения, которые пользователь создает под своим акаунтом.
В этом окружении устанавливаются необходимая версия python (может отличаться от общесистемной) и модули. Когда нужно запустить такой скрипт, в самом начале (указатель на интерпретатор) пишется примерно так:
#!/home//.virtualenvs//bin/python3
что как мне кажется неудобно, особенно если нужно поделиться скриптом с кем-то еще по команде.
Поделитесь более интересными способами запуска .py скриптов из виртуальных окружений ?
Это кому не хватает возможности BASH?? Тому кто его не знает!!! BASH намного мощнее и удобнее кривого и тормозного пайтона. Единственный недостаток BASH он как и C не для школяров, а для серьёзных дядек.
Это вечный спор как механическая коробка и автоматическая. Все говорят что автомат фигня. И серьезные дяди ездят на механике. Но все то знают что автомат удобнее.
Python интерпретируемый язык, и он не компилируется в бинарник.
Так напиши BASH скрипт проще некуда.
Напиши мне на почту: monodevx@gmail.com.
Помогу.
А в каких случаях необходимо в бинарник компилировать?
А как сделать (подозреваю, что через cron), чтобы при перезагрузке, стартовал один единственный скрипт? Написал бота чатГПТ, закинул себе на VDS, сижу тренируюсь) Подскажите, кто разбирается, буду благодарен!