Назад | Перейти на главную страницу

Запускать скомпилированную программу на c из любого места

Быстрый вопрос. После компиляции программы мне всегда нужно явно указывать ей запускаться из текущего каталога, добавляя к имени ./. Например $ ./testprog -argument1

Есть ли способ создать какой-то псевдоним, который позволил бы мне называть его, просто говоря $ testprog -argument1 , что позволяет мне запускать программу из любого места?

PATH=$PATH:. ... легко позаботиться о части ./ ... на которой вы сосредоточились, но уделять больше внимания - не самое главное. Кроме того, многие из нас не одобряют его из соображений безопасности. Видеть Добавление текущего каталога в путь для более подробного обсуждения этого аспекта.

В случае, если я неправильно истолковал (У меня есть), я расширю то, что говорит @DavidShwartz.

Остальные варианты включают указание рассматриваемого каталога как части пути (PATH=$PATH:/to/your/executable/dir), или если у вас есть только несколько программ или они разбросаны по разным местам, используя символические ссылки. Если вы идете по пути символической ссылки, я предлагаю установить ~/bin быть в конце вашего пути и создавать ваши символические ссылки в ~/bin...

ln -s /to/your/executable/dir/program ~/bin/program

Почти всегда лучше помещать дополнительные пути в конец вашего оператора $ PATH. Очень редко вы хотите, чтобы что-то переопределило системные файлы. Это позаботится о его достижении.

В последней части вы можете поместить сценарий оболочки в один из каталогов $ PATH, который включает параметры, которые вы хотите передать. Вы действительно можете обмануть и полностью пропустить весь путь: alias runmyprogram '/to/your/executable/dir/program -argument1' (вы также можете включить сюда вводные аргументы, если они вам всегда нужны)

Их больше, но это должен сделать сценарий оболочки на вашем пути или команда псевдонима.

Большинство платформ предоставляют индивидуальный bin каталог именно для таких вещей.

Вы можете попробовать такую ​​команду, как echo "${PATH}" чтобы увидеть, есть ли у вас такой каталог на вашем пути. Ищите что-то вроде /home/fred/bin в пути. Обычно это очень близко к началу, чтобы позволить вам переопределить стандартные команды, если хотите. (Быть осторожен!)

Если вы это видите, убедитесь, что у вас есть bin каталог в вашем home каталог и поместите туда исполняемый файл.

Поместите исполняемый файл в папку в $ PATH или добавьте каталог, содержащий этот исполняемый файл, в $ PATH

Вы можете разместить программу в любом месте, создать сценарий bashscript, который вызывает вашу программу (то есть указывает на ее местоположение) и передает аргументы. Назовите его mycommand и поместите в / usr / bin. Выполните chmod + x / usr / bin / mycommand, и теперь у вас есть команда, запускающая вашу программу.