以前実行したコマンドラインに部分一致: !?(部分一致文字列)

bash コマンドライン

!? に続いて以前実行したコマンドの任意一致文字列を指定すると そのコマンドを再実行できる。

例:

yasunari@sil:~$ pwd
/home/yamasita/yasunari
yasunari@sil:~$ ls /
bin  boot  dev  etc  home  initrd  lib  media  mnt  opt  proc  root  sbin  srv  sys  tmp  usr  var
yasunari@sil:~$ uname -a
Linux sil 2.6.16.16-arm1 #9 Wed Mar 7 14:17:36 JST 2007 armv5tejl GNU/Linux
yasunari@sil:~$
と実行したところで、
!? に続いて
uname -a の途中の name や
ls / の s、
pwd の最後の2文字の wd
を入力し [Enter] を押すとそれぞれのコマンドを再実行できる。
yasunari@sil:~$ !?name
uname -a
Linux sil 2.6.16.16-arm1 #9 Wed Mar 7 14:17:36 JST 2007 armv5tejl GNU/Linux
yasunari@sil:~$ !?s
ls /
bin  boot  dev  etc  home  initrd  lib  media  mnt  opt  proc  root  sbin  srv  sys  tmp  usr  var
yasunari@sil:~$ !?wd
pwd
/home/yamasita/yasunari
yasunari@sil:~$
任意一致がどのコマンドに一致するかは十分な注意が必要。




以前実行したコマンドラインに前方一致: !(前方一致文字列)
ハッカーに一歩近づく Tips
これまでに実行したコマンドラインの列挙: history

Copyright (C) 2008 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市