シェルで非常に長いコマンドを入力します。今度は、歴史に上向き矢印を付け続け、それを微調整し、はるかに長くします。ある時点で、「開始時にこれを複数行のコマンドにすべきだった」と考えているでしょう。さて、コマンドはすべて1行になっているので、それを分割する方法はありますか?
例:
foo | grep "aaaaaaaaaaaaaaaaaa" | grep "bbbbbbbbbbbbbb" | more
編集を続行しやすくするために、次のようにします。
foo |\ << enter some control character here to split the line
grep "aaaaaaaaaaaaaaaaaa" |\
grep "bbbbbbbbbbbbbb" |\
more
問題の例として、パイプの後に配置し、円記号を入力してから、Ctrlキーを押しながらEnterキーを押しても機能しません。また、shift-Enter、ctrl-Nなどもありません。キーストロークに応じて、新しい行は「>」で開きますが、最後の文字に続くテキスト(「foo |」ではなく「more」)を待機しているように見えます。 ")。
この状況から抜け出すための昔ながらの方法は、行(マウスまたは.historyから)をコピーしてエディターに貼り付け、分割して各行に '' EOLを追加してから、コピーして貼り付けることです。 CLI。それは醜い原始的です。
ありがとう
複数行のコマンドは、常に1行としてコマンド履歴にアーカイブされます。ターミナルプロンプトで、1行を編集して複数行に表示することはできません。
これを実行するためのアプローチは、デフォルトのエディターでコマンドを開くことです。コマンドのどこかにカーソルを置いて、Ctrl+を押しますXE。これにより、デフォルトのエディター(nano
Ubuntu)でコマンドが開き、行の分割を含むすべての編集を行うことができます。nanoでは、Ctrl+SXを押して変更を保存し、エディターを閉じます。コマンドはすぐに実行されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加