После использования Linux в течение месяца или двух, я знаю, что я делаю сейчас.
При создании программ на любом языке я, очевидно, использовал такой код:
$ python test.py
И поэтому, если бы я хотел test.py
прочитать данный файл, мне пришлось бы использовать:
$ python test.py something.file
Что я хотел бы сделать сейчас, это попытаться создать приложение командной строки, чтобы я мог использовать
$ myapp something.file
Программа, как python
в $ python test.py
или nano
в$ nano program.pl
Но где же мне начать создавать подобные приложения? Немного веб-траления никуда меня не привело.
Если вы можете сказать мне, что это было бы здорово, но я с готовностью приму кучу ссылок.
Я полностью открыт, если есть больше чем один способ, я действительно не возражаю против того, какой язык (оправдание изучать другой!) Или что-то еще.
command-line
application
ACarter
источник
источник
python
части?python
.)Ответы:
Вы можете запустить скрипты Python, сделав их исполняемыми (
chmod +x test.py
) и сделав#!/usr/bin/env python
первую строку. Как только вы это сделаете, запускtest.py args
вызовет python для запуска вашего скрипта. Читайте о Шебанге , если вы хотите узнать больше.источник
$ test.py 30
дал ошибку Баш:-bash: test.py: command not found
. Пока спасибо за вашу помощь!$PATH
. Либо используйте путь, например,/path/to/test.py
или./test.py
если вы/path/to
уже в, или добавьте/path/to
к своему$PATH
. На этом сайте много повторяющихся вопросов о последнем.$PATH
файл, пропустите окончание файла, например.py
.#!/usr/bin/env python
Прежде чем вы сможете удалить расширение .py, вам понадобится верхняя часть вашего скрипта. Но любой сценарий, который содержит этот вызов или аналогичный (например,#!/bin/sh
для сценариев оболочки), может быть назван без расширения. Это не имеет никакого отношения к тому, находится ли он в вашем PATH или нет..EXE
и.COM
имеют значение. Однако обоснование удаления расширения заключается в том, что универсальные исполняемые файлы должны быть просто универсальными исполняемыми файлами. Смысл этой тавтологии заключается в том, что пользователям просто нужна функциональность, и им не нужно знать или заботиться о том, является ли это Perl, Python, sh, bash, awk и т. Д. И, делая сценарий исполняемым и добавляя shebang, он становится универсальным исполняемым файлом.В Си это выглядит так:
Argc - это число аргументов. Обратите внимание, что имя программы / инструмента имеет значение.
Сами аргументы заканчиваются в векторе аргументов (или массиве), argv.
Тогда есть сложная часть написания кода, чтобы справиться с ними намеченным способом.
Затем скомпилируйте с gcc. Вы указываете название программы с
-o
флагом (outfile). Запустите файл из его текущего каталога следующим образом:./tool_name input_file_1 ... input_file_n
(или поместите его в каталог, который появляется, когда вы пишетеecho $PATH
, тогда вы можете вызвать его из любого места, то есть без точки).источник
Я использую Go. Это скомпилированный язык, кросс-платформенный, с простотой программирования на динамическом языке и поддержкой параллелизма и коммуникации.
Я не собираюсь возвращаться к Python, потому что очень интересно разрабатывать с Go.
http://golang.org/
https://github.com/languages/Go
Здесь у вас есть простая программа, которая получает аргументы, используемые в этой команде:
http://play.golang.org/p/1dpUT11-cc
источник