为什么默认情况下仍启用bash历史记录替换?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 去年关闭。 有人知道为什么默认情况下bash仍启用历史记录替换吗?我.bashrc已经加入set +H了很多年,但其他一些人仍被该功能所困扰。 鉴于几乎每个人都在使用具有复制粘贴功能的终端,并且使用readline库编译的bash 和默认情况下仅在交互式shell中启用了历史替换,是否真的有理由完全使用该功能?即使默认情况下所有外壳程序都禁用了此脚本,也不会破坏现有脚本。 如果您不知道为什么历史替换被破坏,请尝试以下操作: $ set +H # disable feature history substitution $ echo "WTF???!?!!?" WTF???!?!!? $ set -H # enable feature history substitution $ echo "WTF???!?!!?" echo WTF???echo WTF???!?!!? WTF???echo WTF???!?!!? (很明显,如果默认情况下所有脚本都禁用了该功能,并且存在在执行之前验证结果的功能,则该功能存在重大问题shopt -s histverify。) 也可以看看: 为什么感叹号`!`有时会使bash烦躁? 为什么Bash历史记录不记录此命令? 如何回响一声巨响! Bash:在同一行中的双引号之后,单引号内的历史记录扩展