Установка программы в Linux: предоставление короткой команды

393
rwallace

Предположим, что вы распространяете программу для запуска в Linux, называете ее Foo, а исполняемый файл программы называется foo.exe (потому что это программа CLR, поэтому она работает под Mono), и ему требуется пара DLL в одном каталоге и, возможно, более поздняя версия может нуждаться в некоторых файлах данных, которые она читает при запуске, и так далее, поэтому перемещение ее в глобальный каталог bin - это немного хлопотно, и она действительно предпочитает оставаться в своем первоначальном каталоге ...

Но пользователь предпочел бы вызвать программу, набрав fooвместо mono /path/to/foo.exe.

Какой самый лучший / самый обычный способ обеспечить такую ​​короткую команду? Может / должен ли скрипт установки / makefile создать однострочный скрипт с именем, fooкоторый вызывает полный путь, и поместить однострочный скрипт в глобальный каталог bin? Если это так, что должно быть каталогом целевого бина, и есть ли какие-либо указания о том, как именно это сделать? Или есть предпочтительная альтернатива?

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

a@a-desktop:~/ayane$ cat install.sh  #!/bin/sh echo mono `pwd`/ayane.exe '"$@"' >ayane chmod +x ayane mv ayane /usr/local/bin 
1

4 ответа на вопрос

4
Nifle

Я бы поставил ссылку или скрипт в /usr/local/bin

Ссылка, если все, что вам нужно сделать, чтобы начать, foo.exeэто ввести полный путь /my/path/foo.exe. С другой стороны, вам понадобится небольшой сценарий оболочки, который вызывает mono /path/to/foo.exe.

2
Dennis Williamson

Я бы использовал Стандарт иерархии файловой системы в качестве руководства и установил бы ваш пакет /opt/package_nameи поместил бы ваш скрипт-обертку /usr/local/binили позволил бы пользователю настраивать эти варианты и генерировать скрипт-обертку во время установки на основе этих вариантов. Альтернативой может быть помещение сценария-оболочки в тот же каталог, что и приложение, и добавление каталога приложения в PATHin /etc/profile, но я считаю это менее желательным.

2
Iain

Используйте псевдоним

положить что-то вроде

alias foo='mono /path/to/foo.exe' 

в файл инициализации оболочки пользователя.

1
Nerdfest

Самый простой способ - использовать псевдоним Bash. Я не уверен, что это нормальная практика - добавлять псевдоним в файлы профиля.

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