我怀疑融合需要它们也是可写的。但是,它确实说Could not read file
(注意“阅读”);另外,这意味着它们对 root 是可写的,因为 root 没有这样的错误。
~$ diff <(echo foo) <(echo bar)
1c1
< foo
---
> bar
~$ meld <(echo foo) <(echo bar) # not working, see comment below
~$ sudo -s
~# meld <(echo foo) <(echo bar) # works just fine
第一个返回Could not read file
and [Errno 2] No such file or directory: '/dev/fd/63'
。
您怀疑这种行为的原因是什么?
上面是非特权用户,下面是root。
当 Meld 窗口已经打开时,就会发生这种情况。在这种情况下,
meld
再次运行会尝试使用现有的 Meld 进程;但是该过程无法访问/dev/fd
用于替换的文件...似乎没有一个选项可以强制 Meld 使用“新”流程,而忽略所有其他流程。