bashターミナルで新しい行を入力/開始する方法は?


11

サンプルのbash forループのサンプルが複数の行に分散している例に気づきました

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

(例: http: //www.cyberciti.biz/faq/bash-for-loop/)bashターミナルに改行を入力するにはどうすればよいですか(パテを使用しています)。行の最後でEnterキーを押すと、システムによって実行されます。


1
またbash、キーボードの組み合わせCtrl + x + eを使用して、vimなどのエディターでコマンドプロンプトの内容を開き、作業をより簡単に行うことができます。終了したら、エディターを終了してコマンドを実行できます。
slm

回答:


28

Enter最後に押すと:

for VARIABLE in file1 file2 file3

forループが終了していないため、シェルは何も実行できません。したがって、代わりに、クロージングを入力するまで、別のプロンプトである$PS2プロンプト(通常は>)を出力しますdone

ただし、>が表示された後、最初の行を編集するために戻ることはできません。

または、の代わりにと入力EnterすることもできますCtrl-VCtrl-J。これにより、^J現在のバッファが受け入れられずに改行文字(別名)が入力され、後で最初の行の編集に戻ることができます。

ではzshAlt-EnterまたはEscEnterを押して、現在のバッファを受け入れずに改行文字を挿入できます。と同じ動作をさせるにはbash、に以下を追加します~/.inputrc

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

\026という^V文字)。


Ctrl-J最初Ctrl-Dから最後まで、私にとってはうまくいきました。
DuckMaestro
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.