!find
命令允许用户执行先前执行的find
及其所有参数。
它是如何在内部工作的,这种行为究竟是在哪里被编程的?
发布于 2014-07-31 06:58:03
它与find
命令本身无关,它是shell的一个特性,称为历史扩展。如果您的shell支持历史扩展,您可以引用您输入的过去的命令,并使用它执行一些操作。
例如,在Bash中,您的操作通过事件指示符引用历史记录中的命令。来自巴什手册:
事件指示符是对历史记录列表中的命令行项的引用。除非引用是绝对的,否则事件相对于历史记录列表中的当前位置。
!
启动历史替换,除非后面是空格、选项卡、行尾、=
或(
(当使用shopt
内置的extglob
shell选项时)。!string
引用以字符串开头的历史记录列表中当前位置之前的最新命令。
对于真正的内部结构,您可以从Bash4.3中阅读get_history_event
的源代码。
https://unix.stackexchange.com/questions/147598
复制相似问题