Любые примеры того, как написать приложение, которое исполняется из терминала, как git?

Я хочу написать приложение Ubuntu, которое поможет мне разобраться с веб-интерфейсом API. Я могу написать это на Python, но я хочу знать, как построить его так, чтобы я мог выполнить его как команду на самом терминале.

3
задан 14 September 2012 в 17:07

3 ответа

Поместите вашу программу на Python в текстовый файл. Первая строка этого файла должна быть

 #!/usr/bin/python

 print "Hello world"

(я поместил строку «Hello world» просто в качестве примера кода Python). Сохраните его как текстовый файл, например test.py. Сделайте этот файл исполняемым

 chmod a+x test.py

Presto, теперь вы можете запустить его:

 ./test.py

Чтобы иметь к нему доступ из любого каталога и для каждого пользователя, поместите его в /usr/local/bin , который является местоположением по умолчанию для исполняемых файлов, не установленных с менеджерами пакетов:

sudo cp test.py /usr/local/bin

В качестве альтернативы, вы можете создать каталог с именем «bin» в вашем домашнем каталоге; он будет автоматически добавлен к вашей переменной PATH через файл $ HOME / .profile.

mkdir $HOME/bin
mv test.py $HOME/bin

В обоих из этих двух последних случаев для запуска вашего скрипта в терминале вам нужно только написать:

test.py

Расширение «.py» здесь только для того, чтобы вы указали, что это скрипт Python. Вы можете назвать его «Сьюзен» и запустить его, набрав

susan

Он будет работать так же.

0
ответ дан 14 September 2012 в 17:07

Так как он прекрасно работает, помещая небольшой скрипт на Python в /usr/local/bin, чтобы иметь возможность запускать его из командной строки (см. этот ответ ), у нас может быть более сложное приложение на Python, которое нам нужно хранить в другом месте (например, в /opt/myapp/).

Затем мы можем написать небольшой скрипт, который мы поместили в /usr/local/bin/, который ссылается на наш скрипт на Python, например,

#! /bin/bash

python /opt/myapp/myapp.py "$@"

Добавьте переменную "$@", если ваш сценарий принимает параметры командной строки.

0
ответ дан 14 September 2012 в 17:07

Python - это язык сценариев, что означает, что вам не нужно его компилировать перед запуском. Все, что вам нужно, это установить требуемую версию интерпретатора Python.

Например, у вас есть скрипт python с именем foo.py в вашем домашнем каталоге, вы можете запустить этот скрипт с помощью команды

$ ~/foo.py

В первой строке файла должно быть указано, что это файл python. Первая строка должна выглядеть следующим образом:

#!/usr/bin/env python

Предполагая, что он установлен как исполняемый, если нет:

$ chmod +x ~/foo.py

Если вы хотите запустить его без каких-либо ~/ вещей, вам следует переместите его в свой $ PATH.

$ echo $PATH
/usr/local/bin:/usr/bin:/bin

Если вы переместите foo.py в /usr/local/bin, /usr/bin или /bin, вы сможете запустить без родительской папки.

$ sudo mv ~/foo.py /usr/local/bin
$ foo.py
0
ответ дан 14 September 2012 в 17:07

Другие вопросы по тегам:

Похожие вопросы: