Používám !n, kde (n) je číslo řádku pro provedení řádku v souboru historie, který chci spustit na příkazovém řádku, který najdu přes history|less.
Existuje však událost historie příkazového řádku, kterou chci ručně upravit. Jak mohu vložit do příkazového řádku obsah událostí historie, aniž by se to skutečně spustilo, abych je mohl upravit a poté stisknout return?
Nejlepší,
Přijatá odpověď:
Chcete-li požadovat, aby byl příkaz po nahrazení historie vytištěn a nikoli proveden, přidejte :p
modifikátor, např. !42:p
. Výsledný příkaz se také zapíše do historie, takže můžete stisknout Nahoru jej upravit.
Pokud máte histverify
sada možností (shopt -s histverify
), budete mít vždy možnost upravit výsledek suplování historie.
fc
vestavěný poskytuje omezený přístup k rozšíření historie (žádné slovní označení) a umožňuje upravit předchozí příkaz v externím editoru.
Můžete použít !prefix
odkazovat na poslední příkaz začínající prefix
a !?substring
odkazovat na poslední příkaz začínající substring
. Když víte, co hledáte, může to ušetřit spoustu času v history | less
.
Dalším způsobem, jak prohledávat předchozí historii, je inkrementální vyhledávání:stiskněte Ctrl +R a začněte zadávat podřetězec toho, co hledáte. Stiskněte Ctrl +R pro přechod na předchozí výskyt hledaného řetězce a Ctrl +S pokud jste zašli příliš daleko. Většina kláves kromě Ctrl +R , Ctrl +S , Backspace a běžné znaky ukončí přírůstkové vyhledávání a mají svůj obvyklý účinek (např. klávesy se šipkami pro přesun kurzoru na řádek, na který jste dosáhli, Enter ke spuštění příkazu).