如何清除BASH中!"的自动字符串替换规则?
解决BASH中
!"被自动替换的问题 这是Bash的历史扩展功能导致的,!"是历史扩展的特殊符号,会自动替换为历史记录中最近一次被双引号包裹的内容。以下是几种解决方法:
临时关闭历史扩展(当前会话生效)
执行这条命令,立刻停止当前Shell的历史扩展行为,!"就不会再被替换:
set +o histexpand
永久关闭历史扩展(所有新会话生效)
编辑你的~/.bashrc或~/.bash_profile文件,添加一行:
set +o histexpand
保存后,新打开的终端都会自动关闭历史扩展。
清除触发替换的历史记录(保留历史扩展功能)
如果不想关闭历史扩展,只是清除那条导致替换的历史条目:
- 先找到对应历史记录的行号:
history | grep "FRom faireſt creatures we deſire increaſe"
- 用行号删除这条记录(把
<行号>换成实际查到的数字):
history -d <行号>
- 若想清空全部历史记录(谨慎操作):
history -c
内容的提问来源于stack exchange,提问作者William Dwyer
相关产品推荐
相关产品推荐

