更改Erlang的工作目录

一进入Erlang目录,默认的工作路径是Erlang的bin目录或usr目录(都是erl根目录下的目录),你在别的目录的文件没法编译,那么怎么设置工作路径呢?

在Windows,有几种方法: (1)进入Erlang后通过命令更改,如下:

Erlang (BEAM) emulator version 5.6.3 [async-threads:0]

Eshell V5.6.3 (abort with ^G)

1> cd("c:/mywork").

c:/mywork

ok

2> element(2,file:get_cwd()).

"c:/mywork"

3> cd("./proj1").

c:/mywork/proj1

ok

4> cd("..").

c:/mywork

ok

5>cd(".").

c:/mywork

ok

6>pwd().

c:/mywork

ok

7>

(2)更改初始脚本文件,比如start.boot(这个是二进制的,要改的话改start.script文件,然后用systools:script2boot工具转换一下才行):

但暂时未知script语法细节,所以还不知怎么改。

注意,那本书(Programming Erlang, Page 47)里面提到的改.erlang文件实现自动配置工作目录的方法对最新的5.6.3已经不起作用,这本书主要针对5.5.2之前的版本。

(3)在erl的命令参数里使用-s 或 -run 执行命令最先使用直接在erl启动参数里添加的方式,即添加 -run c cd c;/mywork 到erl启动参数的形式不能更改成功(放到最后会出错,放到靠前的参数会造成修改路径不成功)

后来又编辑一个函数模块cd_mywork.erl,内容如下:

-module(cd_mywork).

-export([start/0]).

start() -> c:cd("c:/mywork").

编译后将cd_mywork.beam文件放到usr目录下,将erl的启动参数改成:

"C:/Program Files/erl5.6.3/bin/werl.exe" -sname master1 -s cd_mywork start -run mnesia start

就可以了(最好不要把-s cd_mywork start放到最后,因为会把这个命令的输出当成输入命令)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值