bash - 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)行为?
解决方案
我可以在Fedora 34 / GNU bash, version 5.1.0(1)-release (x86_64-redhat-linux-gnu .
这是底层readline
库中的一项新功能,默认情况下启用该功能。目前,关闭它的唯一方法是编辑您的~/.inputrc
并添加以下行:
set enable-bracketed-paste off
然后,在注销并再次登录后,您应该具有旧的行为。
推荐阅读
- java - 通过添加'。'使双重可读 , ',' , 修剪(不是四舍五入)所以只有最后 2 位可能?
- python - 如何从 Python 中的列表创建不同的数据框(带过滤器)
- byte-buddy - ByteBuddy:修改已加载类的架构的解决方法
- r - Abline 不会显示
- c - PIC 16F18 - 乘以浮点数时使用过多的程序内存
- c - 在 ARM 程序集中推送到 char 数组的正确方法
- spring-boot - @SpringBootTest 与 @WebMvcTest & @DataJpaTest &service 单元测试,什么是最好的?
- c# - 使用 MVC 核心模拟 ViewDataDictionary
- ubuntu - 无法导入使用 apt-get 安装的 python 包
- javascript - Javascript 两行 if/else 语句。这个叫什么?