在 Linux 上安装程序:提供一个简短的命令

在 Linux 上安装程序:提供一个简短的命令

假设您正在分发一个在 Linux 上运行的程序,将其命名为 Foo,该程序的可执行文件名为 foo.exe(因为它是一个 CLR 程序,所以它在 Mono 下运行),它需要同一目录中的几个 DLL,也许更高版本可能需要一些在启动时读取的数据文件等,因此将其重新定位到全局 bin 目录有点麻烦,它实际上更喜欢留在原始目录中……

但是用户更喜欢通过键入foo而不是来调用该程序mono /path/to/foo.exe

提供如此简短的命令的最佳/最常用方法是什么?安装脚本/makefile 是否可以/应该创建一个foo调用完整路径的一行脚本,并将该一行脚本放在全局 bin 目录中?如果是这样,目标 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

我会把链接或脚本放在/usr/local/bin

如果您要启动,foo.exe只需输入完整路径即可,则可以使用链接/my/path/foo.exe。另一方面,您需要一个调用的小型 shell 脚本mono /path/to/foo.exe

答案2

使用别名

放一些类似

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

进入用户 shell 初始化文件。

答案3

我会用文件系统层次标准作为指南,在 中安装您的软件包/opt/package_name,在 中放置您的包装器脚本,/usr/local/bin或者允许用户配置这些选择,并在安装时根据这些选择生成包装器脚本。另一种方法是将包装器脚本放在与应用程序相同的目录中,并将应用程序目录添加到PATH/etc/profile,但我认为这不太可取。

答案4

最简单的方法是使用 Bash 别名。不过我不确定向配置文件添加别名是否是正常做法。

相关内容