【问题标题】:Escript: setting code path relative to script directoryEscript:设置相对于脚本目录的代码路径
【发布时间】:2014-08-28 16:07:21
【问题描述】:

当我尝试像这样使用 -pz 在 escript 中设置相对代码路径时

#!/usr/bin/env escript
%% -*- erlang -*-
%%! -pz ../dir-of-some-beams

路径是相对于我运行 escript 的目录进行解释的,这使得它无法设置相对于脚本位置的路径。

我目前的“解决方法”是使用绝对路径,这很烦人,因为所有这些都是存储库的一部分,我不希望它依赖于位置。

那么如何设置相对于escript所在目录的代码路径呢?

【问题讨论】:

    标签: erlang erlang-escript


    【解决方案1】:

    我自己发现的:

    在main开头添加这样的代码:

    true = code:add_pathz(filename:dirname(escript:script_name()) 
                           ++ "/../dir-of-some-beams"),
    

    我建议始终使用这些code 函数测试true,因为它很容易键入code:add_pathsz,它需要一个字符串列表并始终返回ok,即使你只传递一个字符串——但是它没有将代码路径设置为单个目录(顺便说一句,这是非常烦人的行为)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-05
      • 2015-09-08
      • 2014-04-14
      • 2016-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多