我在两个不同的 Ubuntu 14.04 x64 机器上运行了相同的命令,但得到了不同的结果:
乌班图1:
# join -1 2 -2 1 <(echo "st21 ppp0") <(echo "ppp0 9581720 213155315")
join: /dev/fd/63: No such file or directory
乌班图2:
# join -1 2 -2 1 <(echo "st21 ppp0") <(echo "ppp0 9581720 213155315")
ppp0 st21 9581720 213155315
那么第一个输出有什么问题呢?
答案1
最可能的解释是Ubuntu1
没有/dev/fd
(通常是到 . 的符号链接/proc/self/fd
,通常由 . 创建udev
)。
bash
需要/dev/fd
流程替代上班。
重新启动后,udev
做了它应该做的事情并创建了符号链接。
顺便说一句,当你bash
在 FreeBSD 上安装时,它会提示你添加以下内容/etc/fstab
(在 linux 上不需要,因为它是由 处理的udev
)
fdesc /dev/fd fdescfs rw 0 0