【问题标题】:Shell exclamation mark command外壳感叹号命令
【发布时间】:2016-02-12 00:35:31
【问题描述】:

这个命令有什么作用?

!g++

对于历史命令:

!12

它运行历史命令#12,但是g++ 或其他呢:

!cat filename

【问题讨论】:

标签: linux shell command-line


【解决方案1】:

Bash manual, "Event Designators"

!string

参考历史列表中当前位置之前的最新命令,以string开头。

这意味着!g++ 运行最后一个以g++ 开头的命令,调用 GNU C++ 编译器:

$ g++ -o myprog -flto -O3 foo.o bar.o baz.o -lgfortran
...
(g++ does its job here)
...
$ vim test
...
(other commands)
...
$ !g++
g++ -o myprog -flto -O3 foo.o bar.o baz.o -lgfortran  <-- same command as before

另一方面,!cat filename 没有多大意义,因为它已经是一个完整的命令。当然,除非在最后一次该命令之后有一个超级复杂的管道,然后事件指示符会重复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 2021-03-27
    • 2015-10-19
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多