GNU/Linux >> Znalost Linux >  >> Linux

Jak upravím předchozí řádky ve víceřádkovém příkazu v Bash?

To je bohužel až bash , ne k terminálu. Vaše možnosti jsou:

  1. Místo nových řádků používejte středníky, i když ani potom se nemůžete posouvat o řádek obrazovky nahoru najednou, ale musíte použít příkazy pro pohyb znaků nebo slov. (Zvláštní, zsh alespoň vám umožňuje pohybovat se v rámci složeného příkazu při úpravách historie, ale ne v rámci aktuálního příkaz.) Někdy fc (který vás hodí do vašeho editoru s předchozím příkazem) je nejjednodušší způsob, jak zvládnout složené příkazy.

  2. Pokud používáte Bash, použijte následující kombinaci kláves:

    ctrl x e
    

    Otevře se příkaz, na kterém pracujete pomocí textového editoru. Uložte soubor a ukončete. (Příkaz jsem našel na prezentaci Shell Hater.) Uživatelé Zsh mají tuto alternativu.


Řešením je nikdy nezadávat příkaz, dokud není víceřádkový správný, stačí napsat:Ctrl v Ctrl j když chcete přejít na další řádek. Meta b vrátit se o slovo zpět.

poděkujte za odpověď @rici


Zajímavé je, že Ctrl+C je to, co hledáte.

když jste na

$ echo "foo bar
> baz
>

stačí stisknout Ctrl+C (upravený příkazový řádek se pozastaví) a stiskněte Nahoru (předchozí historie). Vaše výzva bude:(všimněte si nepřítomnosti>)

$ echo "foo bar
baz

Nyní se můžete pohybovat pomocí Doleva Správně i přes čárové skoky.

Existuje pouze jeden vtip, musíte být na posledním znaku, abyste mohli přidat další řádek, takže se pohybujte a upravujte existující řádky (začněte pomocí Ctrl+A ) a stiskněte Enter jestli to stačí nebo to skončí (Ctrl+E ), chcete-li přidat další řádky pomocí Enter . Další nevýhodou je, že Ctrl+_ (zpět) obnoví pouze změny z poslední Ctrl+C


Linux
  1. Jak připojit více řádků k souboru?

  2. Jak počítat počet řádků v souboru v Linuxu (příklady wc a nl)

  3. Jak si mohu vybavit argument předchozího příkazu bash?

  1. Jak nahradit řetězec ve více souborech v příkazovém řádku linuxu

  2. Jak spustím více příkazů na pozadí v bash na jednom řádku?

  3. Jak zřetězit více řádků výstupu do jednoho řádku?

  1. Linux Bash Script, jeden příkaz, ale více řádků?

  2. Bash, pokud na jednom řádku

  3. Jak spustit příkaz vícekrát pomocí bash shell?