bashは貼り付けた行を実行するために別の改行が必要です

bashは貼り付けた行を実行するために別の改行が必要です

私がよく使うシェルはbashで、私がよく使う端末はDebian Sidのxtermです。

最近のbash投稿に続いて、Button-2を使用していくつかのテキスト(Button-1をクリックしてドラッグして選択)をbashコマンドラインに貼り付けると、貼り付けたテキストの新しい行が無効になっていることがわかりました。貼り付けたテキストを実行するには、キーボードで追加の改行を使用します。

私が見るには、Debianがbashで何かを新しく構成したようです。他のシェル(ダッシュなど)を使用すると、bashと以前に使用したすべてのシェルで発生したかのように貼り付けられた行がすぐに実行されるためです。

Bashの動作を前の動作に戻すことはできますか?


~からdpkg -l

ii  bash           5.1-2        amd64        GNU Bourne Again SHell
ii  xterm          363-1        amd64        X terminal emulator

~からuname -a

Linux debian 5.10.0-1-amd64 #1 SMP Debian 5.10.5-1 (2021-01-09) x86_64 GNU/Linux

答え1

私は正しい道に入ったジェフ・シャラー~のコメントありがとう、ジェフ!

これは比較的新しい動作です。bracketed paste1. これまでは、私のディストリビューションでデフォルトで有効になっていません。

角かっこ貼り付けを無効にするには、シェルプロンプトで次のように入力します。

$ echo set enable-bracketed-paste off >> ~/.inputrc

新しいシェルを起動します。


[1]マンページのタイトルの下にbracketed paste説明されています。bash(1)Readline variables

関連情報