2011-12-07 62 views
3

有没有办法在linux中更改以前的命令?我使用在linux中更改以前的命令

cp path/to/source1 path/to/target2 

复制一堆文件,我想将其更改为

cp path/to/source2 path/to/target2 

,所以我想用2

我知道我可以把这个更换1在一个循环内,但我需要在检查笔记本中的某些内容后执行此操作。

+2

你是什么意思的“改变命令”?你能以其他方式解释吗? –

+0

您可以使用'read'命令来暂停循环。 – bitbucket

回答

8
!!:gs/1/2/ 

下面是一些例子: http://mark.stosberg.com/Tech/tips/bash.tips

+0

太棒了!有没有办法改变不是最后一个命令? – Yotam

+0

不是以我知道的干净的方式,没有。 –

+0

afaik您可以使用,而不是!也!-n其中n是您想要的以前的行数。 !没有什么比!!-1。 – flolo

1

此操作历史的命令是:

^old-text^new-text 

详细阅读我可以推荐的bash的手册页,ESP。 readline和历史的部分。

+0

谢谢。有没有办法改变一个不是最后一个的命令?而且,这只会改变旧文本的第一次出现 – Yotam

0

按向上箭头得到最后一个命令,然后改变任何你想要的不同。

或者如果你想解决一个旧命令命中'Ctrl-r',然后开始输入你想要的,如果正确的旧命令出现右击箭头使其成为当前。然后改变你想改变的东西。

1

我想你在命令行里这么做,而不是在bash脚本 的最快方式是写一遍cp和PRESS Alt+.press space,并按下Alt+.和修复路径

Alt+.为您提供了最后一个参数二手

Ctrl+R为您提供了反向搜索

UP arrow为您提供最新的命令