2011-12-07 63 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爲您提供最新的命令