在dash
手册中,在Builtins
部分有关于fc
内置控制 shell 历史记录并从中重新执行命令的解释,FCEDIT
并且HISTSIZE
在那里也有提及。然而,当我尝试执行时,它dash
给出了未找到命令的错误。
$ echo one
one
$ fc -l 1
dash: 2: fc: not found
$ fc
dash: 3: fc: not found
问题是,为什么?它是 Ubuntu 开发人员做出的标准和有意识的选择之一,还是我可能需要以fc
某种方式启用?
我发现Debian 错误报告中提到fc
了 ,但其中提到的补丁是针对 i386 的,并且该报告的最后一次活动是在 2008 年,所以到目前为止还没有关于 Ubuntu 的信息。从历史上看,fc 已经修复并存在于不同 BSD 版本的版本中,所以这里肯定有一些特定于 Ubuntu 或 Debian 的东西。
检查破折号源代码中的第 57-59 行:
src/builtins.def.in
--with-libedit
如果未在配置中设置SMALL,则定义 SMALL ,我们的 dash/sh 就是这种情况。我想这是关于优化内存占用。变更日志还说:
如果不编译
--with-libedit
是经过深思熟虑的选择,我不知道。