cd
shell 内置命令(如或echo
)和 shell 键盘快捷键(如ctrl+u
或)之间有什么区别ctrl+l
?
在我看来,两者都是“内置的”,系统架构的主要区别是什么?
我个人使用 Bash,但我相信这个问题与许多其他 shell 相关sh
。
答案1
大多数内置命令会更改 shell 的状态/行为(“永久”)。echo
并且printf
都是例外。
^U
和^L
是键绑定。他们只处理输入行编辑。如果没有这些功能,您也可以执行相同的操作。他们只是节省时间。执行命令后,之前是否使用过键绑定功能并没有什么区别。
也许最明显的区别是键绑定不是可以从命令行运行的命令。您需要一个内置的 ( bind
) 来配置它们(shell“状态更改”)。