GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengedit baris sebelumnya dalam perintah banyak baris di Bash?

Sayangnya, itu terserah bash , bukan ke terminal. Pilihan Anda adalah:

  1. Gunakan titik koma alih-alih baris baru, meskipun demikian Anda tidak dapat naik satu baris layar pada satu waktu tetapi harus menggunakan perintah gerakan karakter atau kata. (Anehnya, zsh setidaknya memungkinkan Anda berpindah dalam perintah majemuk saat mengedit riwayat, hanya saja tidak dalam saat ini perintah.) Terkadang fc (yang melemparkan Anda ke editor Anda dengan perintah sebelumnya) adalah cara termudah untuk menangani perintah majemuk.

  2. Jika Anda menggunakan Bash, gunakan kombinasi tombol berikut:

    ctrl x e
    

    Ini akan membuka perintah yang sedang Anda kerjakan menggunakan editor teks Anda. Simpan file dan keluar. (Saya menemukan perintah pada presentasi Shell Hater.) Pengguna Zsh memiliki alternatif ini.


Solusinya adalah jangan pernah memasukkan perintah sampai multi-baris benar, cukup ketik:Ctrl v Ctrl j ketika Anda ingin pergi ke baris berikutnya. Meta b untuk mundur satu kata.

kredit untuk jawaban @rici


Lucunya, Ctrl+C adalah yang Anda cari.

saat Anda aktif

$ echo "foo bar
> baz
>

cukup tekan Ctrl+C (baris perintah yang diedit akan ditangguhkan) dan tekan Atas (sejarah sebelumnya). Perintah Anda adalah:(perhatikan tidak adanya>)

$ echo "foo bar
baz

Sekarang Anda dapat bergerak dengan Kiri Benar bahkan melalui lompatan garis.

Hanya ada satu kekhasan, Anda harus berada di karakter terakhir untuk menambahkan baris lain, jadi berpindahlah untuk mengedit baris yang ada (mulai dengan Ctrl+A ) tekan Enter jika itu cukup atau kebagian akhir (Ctrl+E ) untuk menambahkan lebih banyak baris dengan Enter . Kekurangan lainnya adalah Ctrl+_ (batalkan) hanya memulihkan perubahan dari Ctrl+C terakhir


Linux
  1. Cara Menghitung Jumlah Baris dalam File di Linux (Contoh Perintah wc dan nl)

  2. Bagaimana cara menulis beberapa baris string menggunakan Bash dengan variabel?

  3. Bagaimana cara menggabungkan beberapa baris keluaran menjadi satu baris?

  1. Cara Menghapus Riwayat Baris Perintah BASH di Linux

  2. Bagaimana Cara Menambahkan Beberapa Baris Ke File?

  3. Bagaimana cara menjalankan perintah berkali-kali, menggunakan bash Shell?

  1. Cara Menampilkan Baris Tertentu dari File di Baris Perintah Linux

  2. Bagaimana saya bisa mengingat argumen dari perintah bash sebelumnya?

  3. Cara mengganti string dalam banyak file di baris perintah linux