我发现自己使用history | grep \xe2\x80\x98whatever'
然后复制并粘贴cmd,我发现这很乏味。
我有时也会$(history | grep 'whatever')
执行 cmd if it\xe2\x80\x99s 1 行(不止于此,我必须处理它),但我必须用来sed
删除行号。
那么,当复制粘贴不可用时,人们是否只是重新输入命令?或者他们只是使用sed
andawk
来处理然后执行?
从我自己的历史来看,UNIX 不一定按时间顺序排列。
在“过去”,既没有命令行编辑,也没有鼠标。您确实重新输入了命令,就像输入 vanillash
或dash
. 我怀疑这是常用命令较短的原因之一。个人$HOME/bin
目录中的简单脚本$PATH
有助于更常用的操作。
多年来,这就是我的环境,并通过在 PC 上运行的 X Windows ( XVision ) 进行了增强,这使我能够使用鼠标进行复制和粘贴。
然后是 C Shell ( csh
) 及其命令历史记录。仍然没有命令行编辑,但您可以重复以前的命令并对它们执行简单的修改。这里%
是 C Shell 提示符:
% echo hello, world
hello, world
% ^world^earth
echo hello, earth
hello, earth
% history
12 echo hello, world
13 echo hello, earth
14 history
% !13
echo hello, earth
hello, earth
% !13:s/hello/goodbye
echo goodbye, earth
goodbye, earth
% !h
history
12 echo hello, world
13 echo hello, earth
14 history
15 echo hello, earth
16 echo goodbye, earth
17 history
Run Code Online (Sandbox Code Playgroud)
然后它tcsh
提供了命令行编辑工具。尽管我编写的脚本是针对sh
.
然后我发现bash
,这意味着我可以使用history
命令行替换(使用^old^new
,如上所述),但也可以使用与我的脚本相同的语法。我还没有搬到,zsh
所以这是我目前的首选环境。