1

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

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

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

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

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

4 ответа4

4

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

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

2

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

2

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

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

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

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

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .