Создание команды терминала программно?

Я надеюсь, что этот вопрос в порядке. По сути, я хочу создать небольшую программу, которая с помощью терминала Ubuntu могла бы просто вызвать ее и выполнить команду из любого каталога. Для простого примера, что-то вроде print Hello World будет просто печатать Hello World обратно. Любой совет, как я мог бы сделать это?

#include <iostream>

int main(int argc, char* argv[])
{
    for (char letter : arv) {
        std::cout << letter;
    }
}

Я думаю, что-то подобное сработало бы, просто очень простая программа, но как я мог заставить ее установить команду, которую я мог бы использовать где угодно?
Я надеюсь, что это имеет смысл, если я должен уточнить что-то, пожалуйста, дайте мне знать.
Чтобы объяснить, почему это не дубликат, я немного уточню, чтобы сказать, что я не спрашиваю, как вызвать команду из программы. Частично ответили, что я могу переместить свой исполняемый файл в /usr/bin/ каталог, который был полезен, однако мне более-менее интересно, как я могу это сделать, чтобы, если пользователь загружает и использует мою программу, ему не пришлось бы перемещать файл в /usr/bin/, они могут просто скачать и иметь свою глобальную команду.

2 ответа

Решение

Команда - это просто программа в одном из каталогов, указанных в переменной среды PATH,

Бежать echo $PATH чтобы увидеть каталоги (разделенные двоеточиями).

Пользователь может "установить" вашу программу, просто скопировав ее в любой из этих каталогов. Обычно, /usr/local/bin предназначен для программ, установленных вне диспетчера пакетов, но любая из них будет работать. Они также могут скопировать его в новый каталог и добавить этот каталог в свой каталог. PATH,

Если вы хотите, чтобы это произошло "автоматически", вам нужно заставить пользователя запустить другую программу, которая сделает это за него.

Вам нужно использовать команду псевдонима http://www.hostingadvice.com/how-to/set-command-aliases-linuxubuntudebian/ или переместить ваш скрипт /bin в /bin/

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