shell历史机制
!!? ?? ?? ?? ?? ?? ?? ?? ???前一個命令
!n? ?? ?? ?? ?? ?? ?? ?? ? 前面第n個命令
!str? ?? ?? ?? ?? ?? ?? ???最后一個以str開始的命令
!?str? ?? ?? ?? ?? ?? ?? ?最后一個包含str的命令
^str1^str2? ?? ?? ???用str2替換前一個命令的str1
!:n? ?? ?? ?? ?? ?? ?? ?? ?引用前一個命令的第n個單詞, 比如前一個命令是cat a.txt, 則!:0是cat, !:1是a.txt
!:x-y? ?? ?? ?? ?? ?? ?? ?引用前一個命令的第x到第y個單詞, 比如前一個命令是cat a.txt b.txt, 則!:0-1就是cat a.txt
!^? ?? ?? ?? ?? ?? ?? ?? ? 引用前一個命令的第1個參數, 比如前一個命令是cat a.txt b.txt, 則!^是a.txt
!$? ?? ?? ?? ?? ?? ?? ?? ? 引用前一個命令的最后一個參數, 比如前一個命令是cat a.txt b.txt, 則!$是b.txt
!!:p? ?? ?? ?? ?? ?? ?? ???打印前一個命令但不執行(同樣可用于!str, !?str等)
!!:s/old/new/? ?? ???替換前一個命令中的第一個old為new并執行(同樣可用于!str, !?str等)
歷史機制格式為
事件標志符[:單詞標志符][:修改符]
一個完整的使用例子是, 你前一個命令是ls abc.txt, 現在想刪除abc.txt, 但刪除之前想先看看這個命令而不真執行,就可以用
rm !!:$:p
其中!!是事件標志符, $是單詞標志符, p是修改符, 它們之間用冒號分隔.上面這個歷史機制可簡寫為rm !$:p
!n? ?? ?? ?? ?? ?? ?? ?? ? 前面第n個命令
!str? ?? ?? ?? ?? ?? ?? ???最后一個以str開始的命令
!?str? ?? ?? ?? ?? ?? ?? ?最后一個包含str的命令
^str1^str2? ?? ?? ???用str2替換前一個命令的str1
!:n? ?? ?? ?? ?? ?? ?? ?? ?引用前一個命令的第n個單詞, 比如前一個命令是cat a.txt, 則!:0是cat, !:1是a.txt
!:x-y? ?? ?? ?? ?? ?? ?? ?引用前一個命令的第x到第y個單詞, 比如前一個命令是cat a.txt b.txt, 則!:0-1就是cat a.txt
!^? ?? ?? ?? ?? ?? ?? ?? ? 引用前一個命令的第1個參數, 比如前一個命令是cat a.txt b.txt, 則!^是a.txt
!$? ?? ?? ?? ?? ?? ?? ?? ? 引用前一個命令的最后一個參數, 比如前一個命令是cat a.txt b.txt, 則!$是b.txt
!!:p? ?? ?? ?? ?? ?? ?? ???打印前一個命令但不執行(同樣可用于!str, !?str等)
!!:s/old/new/? ?? ???替換前一個命令中的第一個old為new并執行(同樣可用于!str, !?str等)
歷史機制格式為
事件標志符[:單詞標志符][:修改符]
一個完整的使用例子是, 你前一個命令是ls abc.txt, 現在想刪除abc.txt, 但刪除之前想先看看這個命令而不真執行,就可以用
rm !!:$:p
其中!!是事件標志符, $是單詞標志符, p是修改符, 它們之間用冒號分隔.上面這個歷史機制可簡寫為rm !$:p
轉載于:https://www.cnblogs.com/hunter_gio/archive/2007/04/25/726627.html
總結
- 上一篇: Win2000 Win2003安装卡巴斯
- 下一篇: 软件项目获取用户需求的沟通技巧(摘自IT