我正在尝试使用gen_server更改命令行中的目录
os:cmd("cd d:\temp").
Run Code Online (Sandbox Code Playgroud)
但没有任何事情发生,返回只是一个空列表,我仍然在同一个目录中.有任何想法吗?
cmd()运行一个子shell,你告诉它改变目录,然后子shell退出,没有改变它的父进程的环境.
如果你在shell中,你想使用cd(),或者在Erlang程序中运行时使用文件:set_cwd().
另一个选择,如果你想运行另一个程序并使其工作目录与Erlang使用的工作目录不同,则将{cd,Dir}元组传递给open_port().