开发人员通常如何处理可执行文件的不同路径?
我的程序目前在/ usr / local / bin中,我想知道如何使它工作在/ usr / local / bin或/ usr / bin中,同时能够从其中一个访问配置文件etc文件夹(取决于可执行文件路径)。
我不能只使用相对路径,因为我需要使它相对于可执行文件的路径,即便如此,这还不够,因为我需要访问/ etc天气比/ usr / local /等
有没有一种常见的方法来处理这种情况?它是在安装过程中处理的吗?我是否需要为本地和全局路径制作不同版本的程序?
答案 0 :(得分:1)
在shell脚本中,您可以使用
检测脚本的可执行路径String out = sprintf("%02d", a);
并与之合作。
答案 1 :(得分:0)
如果您以root身份运行程序,那么它应该能够访问/ etc /或任何其他地方的配置文件而不会出现问题。您可以从脚本中grep
或者您需要的任何内容。
如果您的程序不是以root身份运行,那么您应确保在/ etc /上访问的配置文件为用户提供了读取它的权限。有关详细信息,请参阅chmod man。
最后,您的脚本应该可以从您提到的任何位置运行良好,尽管/usr/local/bin/
通常是本地开发的脚本应该去的地方。只需按照完整路径调用脚本,它就可以运行:ex:/usr/local/bin/script
注意:不要忘记让脚本可执行:chmod +x /usr/local/bin/script