Chinaunix

标题: bash小技巧(about "!") [打印本页]

作者: tiansgx    时间: 2003-05-21 16:58
标题: bash小技巧(about "!")
直接键入:!CommandName
//CommandName是指命令名称
//"!"与CommandName之间不能有空格。

这样的话,就是按照历史中最后一次执行该命令的方式去执行该命令。
如:vi ~/xx/xxx/xxx/xx/xx/xx/xx/xx/xxx/hehe
执行后,又执行了其他的一些命令,你是不是准备一个一个的翻查历史
记录来找到,以免打半天的字?  
其实,只要键入:!vi
作者: 红袖添香    时间: 2003-05-21 17:45
标题: bash小技巧(about "!")
...


CTRL-R

然后键入 vi 试试,呵呵
作者: tiansgx    时间: 2003-05-21 18:55
标题: bash小技巧(about "!")
没什么特别的啊
作者: aquino    时间: 2003-05-21 18:55
标题: bash小技巧(about "!")
两招都好使 :)
作者: 红袖添香    时间: 2003-05-21 19:22
标题: bash小技巧(about "!")
[quote]原帖由 "tiansgx"]没什么特别的啊[/quote 发表:


比如你用 vi 编辑过很多文件,用 !vi 可找出最后一个,如 ~/xx/xxx/xxx/xx/xx/xx/xx/xx/xxx/hehe ,但是找到其它比如 ~/xx/xxx/xxx/xx/xx/xx/xx/xx/xxx/hoho  就有点困难,当然你可以用

$ history | grep vi

来得到列表,比如

  503  vi ~/xx/xxx/xxx/xx/xx/xx/xx/xx/xxx/hoho
  509  vi ~/xx/xxx/xxx/xx/xx/xx/xx/xx/xxx/a.sh
  512  vi ~/xx/xxx/xxx/xx/xx/xx/xx/xx/xxx/b.sh
  525  vi ~/xx/xxx/xxx/xx/xx/xx/xx/xx/xxx/hehe
  549  history | grep vi

然后

$ !503

就可以了,就是还是有点麻烦

如果你记得编辑过的文件为 hoho,只要

CTRL-R

这时候 prompt 会变成
(reverse-i-search)`': 或
I-search:

然后只要输入 hoho

那条历史命令就会再现,回车就运行,而按左右光标可以对命令行再编辑。

(适用于可编辑历史命令的shell,如 bash, ksh)
作者: nmgzw    时间: 2003-05-21 20:25
标题: bash小技巧(about "!")
悍然点头!
作者: tiansgx    时间: 2003-05-22 19:38
标题: bash小技巧(about "!")
红袖不愧是红袖
看来我得回家练练再来发所谓的技巧贴子了,go,go,go
作者: 红袖添香    时间: 2003-05-22 20:24
标题: bash小技巧(about "!")
原帖由 "tiansgx" 发表:
红袖不愧是红袖
看来我得回家练练再来发所谓的技巧贴子了,go,go,go




太过奖了,只是正好我也知道点这个技巧。
作者: raecol    时间: 2003-05-22 22:03
标题: bash小技巧(about "!")
好方法,马上把它copy我的脑里~~copying~~~~~out of memory




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2