Saya perhatikan beberapa bash sampel untuk loop tersebar di beberapa baris dalam contoh
for VARIABLE in file1 file2 file3
do
command1 on $VARIABLE
command2
commandN
done
(mis. di sini http://www.cyberciti.biz/faq/bash-for-loop/ ) Bagaimana cara saya memasukkan baris baru di terminal bash (saya menggunakan dempul)? Ketika saya menekan enter di akhir baris sistem mengeksekusi itu.
bash
line-editor
giorgio79
sumber
sumber
bash
Anda dapat menggunakan kombinasi keyboardCtrl + x + e
untuk membuka isi dari command prompt dalam editor seperti vim di mana Anda dapat bekerja pada lebih mudah, ketika Anda sudah selesai Anda dapat keluar dari editor dan perintah akan dijalankan.Jawaban:
Saat Anda menekan Enterdi akhir:
Shell tidak dapat menjalankan apapun karena
for
loop itu belum selesai. Jadi sebagai gantinya, itu akan mencetak prompt yang berbeda,$PS2
prompt (umumnya>
), sampai Anda memasuki penutupandone
.Namun, setelah
>
ditampilkan, Anda tidak dapat kembali mengedit baris pertama.Atau, alih-alih mengetik Enter, Anda bisa mengetik Ctrl-VCtrl-J. Dengan begitu, karakter baris baru (alias
^J
) dimasukkan tanpa buffer saat ini diterima , dan Anda kemudian dapat kembali mengedit baris pertama nanti.Di
zsh
, Anda dapat menekan Alt-Enteratau EscEnteruntuk memasukkan karakter baris baru tanpa menerima buffer saat ini. Untuk mendapatkan perilaku yang samabash
, Anda dapat menambahkan ke~/.inputrc
:(
\026
menjadi^V
karakter).sumber
Ctrl-J
untuk memulai, danCtrl-D
untuk menyelesaikan, akhirnya bekerja dengan baik untuk saya.