2017-02-04 10 views
-1

Так обычно программа с аргументом вызывается следующим образом:Вызвать программу C, набрав * просто * имя исполняемого файла в команде?

./helloworld -test

Я попросил, чтобы вызвать программу C в командной строке, просто введя :

тест HelloWorld

другими словами, без "./". Я должен уметь запускать свою программу в командной строке Unix так же, как и «ls». Инструменты, которые у меня есть (что я знаю) в моем распоряжении, чтобы это произошло, это Makefile и argv [], но я не могу найти никаких вопросов или документации в Интернете, связанных с этой конкретной проблемой.

+2

Вы можете выполнить программу по имени, если каталог, в котором находится программа, находится в '$ PATH'. – EOF

+1

Выполняйте 'export PATH = $ {PATH}: ./' перед запуском вашей программы. – alk

+0

Возможный дубликат [Почему вам нужно ./ (точка-косая черта) перед именем скрипта, чтобы запустить его в bash?] (Http://stackoverflow.com/q/6331075/1072229) –

ответ

0

Убедитесь, что переменная PATH содержит каталог ./ (или лучше полный путь), чтобы запустить программу без указания каталога.

+2

Обычно это * не рекомендуется *. – EOF

+0

@EOF Конечно, добавление '. /' Переменной 'PATH' - плохая идея. –