调用erl_tar:create函数时如何改变cwd(当前工作目录)?

How to change cwd(current working directory) when calling erl_tar:create function?

喜欢create_option:cwdzip.create/3:http://erlang.org/doc/man/zip.html#create-3

很遗憾,erl_tar:create 没有这个选项。我可以在调用 erl_tar:create 时更改 cwd 吗?

根据 cwd option doc,它所做的只是在文件名前加上目录,您可以在 erl_tar:create 中做同样的事情,例如通过将文件名从 'test.tar' 更改为 '../test.tar'

Uses the specified directory as current work directory (cwd). This is prepended to filenames when adding them, although not in the zip archive (acting like file:set_cwd/1 in Kernel, but without changing the global cwd property.).

更改 cwd 听起来很危险,因为如果您在当前 cwd(或相对于当前 cwd)中使用其他文件,可能会导致运行时错误。