Bas terminaline yeni bir hat nasıl girilir / başlatılır?


11

Örneklerde döngüler için bazı örnek bash'ın birden çok satıra yayıldığını fark ettim

for VARIABLE in file1 file2 file3
do
    command1 on $VARIABLE
    command2
    commandN
done

(örneğin burada http://www.cyberciti.biz/faq/bash-for-loop/ ) Bash terminaline nasıl yeni satır girebilirim (macun kullanırım)? Bir satırın sonunda enter tuşuna bastığımda sistem onu ​​yürütür.


1
Ayrıca, daha kolay çalışabileceğiniz vim gibi bir editörde komut isteminin içeriğini açmak bashiçin klavye kombinasyonunu kullanabilirsiniz, Ctrl + x + eişiniz bittiğinde editörden çıkabilirsiniz ve komut çalışacaktır.
slm

Yanıtlar:


28

EnterSonuna bastığınızda :

for VARIABLE in file1 file2 file3

Bu fordöngü tamamlanmadığı için kabuk hiçbir şey yürütemiyor. Bunun yerine, siz kapanışa girene kadar farklı bir istem, $PS2istem (genellikle >) yazdırır done.

Ancak, >görüntülendikten sonra ilk satırı düzenlemek için geri dönemezsiniz.

Alternatif olarak, yazmak yerine Enter, yazabilirsiniz Ctrl-VCtrl-J. Bu şekilde, yeni satır karakteri (aka ^J) geçerli arabellek kabul edilmeden girilir ve daha sonra ilk satırı düzenlemeye geri dönebilirsiniz.

İçinde zsh, geçerli arabelleği kabul etmeden yeni satır karakteri eklemek için Alt-Enterveya tuşuna basabilirsiniz EscEnter. Aynı davranışı almak için bashaşağıdakilere ekleyebilirsiniz ~/.inputrc:

"\e\C-m": "\026\n"

( karakter \026olmak ^V).


Ctrl-Jbaşlamak ve Ctrl-Dbitirmek benim için iyi çalıştı.
DuckMaestro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.