erlang 目录设置

来源:互联网 发布:为什么淘宝打不开 编辑:程序博客网 时间:2024/05/19 23:12
%%程序启动目录
io:format("consulting .erlang in ~p~n" ,[element(2,file:get_cwd())]).
%%修改后的目录

c:cd("G:/erlang/erlips/src" ).
io:format("Now in:~p~n" , [element(2,file:get_cwd())]).
(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放到最后,因为会把这个命令的输出当成输入命令

原创粉丝点击