调用 erl_tar:create 函数时如何更改 cwd(当前工作目录)?
Posted
技术标签:
【中文标题】调用 erl_tar:create 函数时如何更改 cwd(当前工作目录)?【英文标题】:How to change cwd(current working directory) when calling erl_tar:create function? 【发布时间】:2018-12-02 03:21:50 【问题描述】:就像zip.create/3
中的create_option
:cwd
:http://erlang.org/doc/man/zip.html#create-3
很遗憾,erl_tar:create
没有此选项。调用 erl_tar:create 时可以更改 cwd 吗?
【问题讨论】:
你可以试试erlang.org/doc/man/file.html#set_cwd-1 吗? 【参考方案1】:根据 cwd 选项 doc 它所做的只是在文件名前面加上目录,你可以在 erl_tar:create
中做同样的事情,例如通过将文件名从 'test.tar'
更改为 '../test.tar'
使用指定目录作为当前工作目录 (cwd)。添加文件时,它会在文件名之前添加,尽管不在 zip 存档中(类似于内核中的 file:set_cwd/1,但不会更改全局 cwd 属性。)。
更改 cwd 听起来很危险,因为如果您在当前 cwd(或相对于当前 cwd)中使用其他文件,可能会导致运行时错误。
【讨论】:
是的,我使用 '../root_dir/file_name' 或绝对路径获得与更改 cwd 相同的效果。谢谢!以上是关于调用 erl_tar:create 函数时如何更改 cwd(当前工作目录)?的主要内容,如果未能解决你的问题,请参考以下文章