bash shell history 命令
时间:2019-11-20 08:53:00 来源:igfitidea点击:
在shell脚本中,history 命令用于查看已经执行过的命令。
假设在bash shell中输入了错误的命令:
cp -av file1*.txt file2*.txt /path/to/dest
如何将上一个命令中的file1替换为theitroad,并重新执行?
bash shell支持历史记录搜索和替换操作。
bash(以及许多其他现代)shell提供了对命令历史记录(先前执行的命令列表)的访问。
bash命令历史记录,搜索并替换命令参数
快速替换的语法如下:
再次最后一个命令,并将命令中的word1替换为word2:
^WORD1^WORD2^
或者
!!:s/WORD1/WORD2
或者
!!:gs/WORD1/WORD2
例如:
$ cp bak2018-10.zip /backup/
使用替换,重新执行上一个命令:
$ ^10^08^
或者
$ !!:s/10/08
将会执行:
$ cp bak2018-08.zip /backup/
请注意,此替代仅适用于第一次出现的情况。
例如,上一个命令是:
$ cp -av file1*.txt file2*.txt /path/to/dest
用delta1和delta2替换file1和file2,输入:
!!:gs/file/delta
将会执行:
cp -av delta1*.txt delta2*.txt /path/to/dest
您还可以使用&重复之前的替换操作:
cp -av file1*.txt file2*.txt /path/to/dest !!:gs/file/delta-&/
将会执行:
cp -av delta-file1*.txt delta-file2*.txt /path/to/dest