Často se ocitám v následující pozici:Začal jsem psát dlouhý příkaz na příkazovém řádku bash, ale v polovině jsem zjistil, že musím něco zkontrolovat jiným příkazem. To je problém, když jsem u konzole (bez X), což se často stává, protože pak mám pouze následující neuspokojivé způsoby, jak to udělat, o kterých vím:
- Stiskněte ctrl +alt +F2 a přihlásit se na jiné virtuální konzoli a zjistit, co jsem chtěl, pak se vrátit a pokračovat
- ctrl +a , zadejte echo + mezera + zadejte , zjistit, co jsem chtěl, stiskněte ↑ dokud nenajdu svůj příkaz, ctrl +a , del x 5, ctrl +e a pokračujte
- Zvýrazněte, co jsem dosud psal pomocí myši (pokud běží gpm, což obvykle je), stiskněte ctrl +c přerušit, zjistit, co jsem chtěl, a přitom dávat pozor, abych nepoužil myš ke zvýraznění věcí, poté stiskněte prostřední tlačítko myši na nové výzvě a pokračujte
- Modlete se k bohům příkazového řádku, aby napůl napsaný příkaz neměl žádné nepříznivé účinky, ale prostě selhal, a opatrně stiskněte enter, pak zjistěte, co jsem chtěl, mačkejte šipku nahoru, dokud nedostanu svůj příkaz zpět, a pokračujte
- Skočit do mého stroje času, cestovat zpět v čase a připomenout si, že mám úvodní obrazovku, než začnu psát příkaz, vrátit se do přítomnosti, stisknout ctrl +a c , zjistit, co jsem chtěl, stiskněte ctrl +a ctrl+a a pokračujte
Chci tedy vědět, existuje nějaký elegantnější způsob, jak to udělat? Nějaký druh subshell-příkazu nebo podobný?
Nejvíce mě zajímají metody, které nevyžadují žádné přípravy nebo nastavení, aby fungovaly.
Přijatá odpověď:
Poněkud rychlejší verze alexova Ctrl +A Ctrl +K (který se přesune na začátek řádku a pak vše ořízne dopředu) stačí použít Ctrl +U , který ořezává zpět na bash a celý řádek (bez ohledu na vaši aktuální pozici) na zsh. Poté použijte Ctrl +Y znovu jej vložit