我运行了以下命令,但无法理解为什么会出现此错误:
tail /var/log/fontconfig.log 1 >> /home/myuser/b.log
tail: cannot open '1' for reading: No such file or directory
文件fontconfig.log
存在,目录myuser
也存在。但是,此命令有效:
tail /var/log/fontconfig.log >> /home/myuser/b.log
在这里,我已经删除了1
。任何人都可以解释为什么我会收到这个错误吗?另外,如果我们不提及任何标准文件描述符,比如我没有提及1
它需要什么?
如果您不提及任何文件描述符,则默认为文件描述符
1
(标准输出)。如果您确实给出了显式描述符,则必须在运算符前不带空格>>
。如中所述man bash
:所以当你写
它尝试
tail
同时/var/log/fontconfig.log
使用一个名为 的文件1
,并将生成的标准输出重定向到/home/myuser/b.log
: 错误是因为您没有一个可以读取的名为1
的文件。tail