我正在尝试使用
从gen_server更改命令行中的目录os:cmd("cd d:\temp").
但没有任何发生,返回只是一个空列表,我仍然在同一个目录中。 任何想法?
答案 0 :(得分:7)
尝试使用file:set_cwd(Dir)来更改当前目录。
答案 1 :(得分:5)
cmd()运行一个子shell,你告诉他更改目录,然后子shell退出,没有改变其父进程的环境。
如果你在shell中,你想使用cd(),或者在Erlang程序中运行时使用文件:set_cwd()。
另一种选择,如果你想运行另一个程序并让它的工作目录与Erlang使用的工作目录不同,那就是将{cd,Dir}元组传递给open_port()。