关于Linux和macOS上的符号链接的“copyfile”的奇怪行为

bkkx9g8r  于 2023-11-17  发布在  Linux
关注(0)|答案(1)|浏览(120)

考虑以下函数。

%test_copyfile.m

function test_copyfile()

system('rm -rf folder*; mkdir folder1; cd folder1; touch a b c d e f g; ln -s d dlink; rm d; cd ..');

success = copyfile('folder1','folder2');
assert(success);

fprintf('\nfolder1:\n');
dir('folder1')

fprintf('\nfolder2:\n');
dir('folder2')

assert(isequal({dir('folder1').name}, {dir('folder2').name}));

return

字符串
在Ubuntu 22.04或macOS 13(Intel芯片)上的MATLAB R2023b中运行它,我得到了以下结果。

folder1:
  
.      ..     a      b      c      dlink  e      f      g      
  
  
folder2:
  
.   ..  b   f   
  
Error using assert
Assertion failed.
Error in test_copyfile (line 14)
assert(isequal({dir('folder1').name}, {dir('folder2').name}));


在几台机器上进行了测试,folder2的内容似乎不是确定的,有时可能是

folder2:
  
.   ..  a   g


folder2:
  
.   ..


但我没认出这模式。
这是预期的吗?

luaexgnf

luaexgnf1#

Blow是来自MathWorks支持的响应。
“请放心,这已经被确认为一个bug,目前我们的开发团队正在进行彻底的调查。同时,我已经主动将您的联系方式附加到相关的内部请求中。这可以确保您在未来版本中解决bug时会及时得到通知。”

相关问题