首页 > 解决方案 > Fedora 34:将多个命令粘贴到 bash 终端行为更改中

问题描述

当 Fedora 升级可用时,我使用 Mediawiki 存储从头开始重建系统所需的所有命令。

到目前为止,我只是将大量命令复制/粘贴到终端窗口中,然后让它自由运行。

我正在尝试将我的 Fedora 32 升级到 34,但这不再有效。当我的脚本中的任何内容进入 CLI - 比如 mysql 甚至是新的 bash shell 时,执行会停止,直到我输入“exit”。然后,在 bash 中执行 SQL 命令或其他任何内容并显示丑陋。

这是我可以创建的最简化的示例。这在 Fedora 32 中运行良好,但在 Fedora 34 中卡住了:

echo 'AAA'
echo 'AAA'
echo 'AAA'
bash
echo 'BBB'
echo 'BBB'
echo 'BBB'

我猜 Fedora 内部发生了一些变化,我只是不知道是什么。我已经搜索过,似乎无法找到答案。

我的问题是 - 我需要改变什么才能恢复旧的(F32)行为?

标签: bashfedora

解决方案


我可以在Fedora 34 / GNU bash, version 5.1.0(1)-release (x86_64-redhat-linux-gnu .

这是底层readline库中的一项新功能,默认情况下启用该功能。目前,关闭它的唯一方法是编辑您的~/.inputrc并添加以下行:

set enable-bracketed-paste off

然后,在注销并再次登录后,您应该具有旧的行为。


推荐阅读