Linux Shell 转换!! (双感叹号)到空白[关闭]

问题描述 投票:0回答:1

我正在 Linux 服务器上工作,最近我注意到一个奇怪的行为:当我输入 !!然后点击空格,它会自动转换为空格。有谁知道为什么会这样以及如何禁用此行为?

非常感谢您的任何建议。

我尝试使用不同的 shell(例如 bash、tcsh),但问题仍然存在。

linux shell
1个回答
0
投票

历史扩展是 GNU BASH 等 shell 中的一项功能,允许您重用命令历史记录中的命令。

虽然这很有用,但在某些情况下可能会导致意外行为。

要禁用 BASH 中的历史记录扩展,可以使用

set +H
选项。这可以防止 shell 解释特殊字符(如
!
)以进行历史扩展。

set +H

但是,如果您只想打印包含

!
的文本,使用单引号或使用反斜杠转义字符会更容易。例如,
'!!'
\!\!
将打印
!!
,而不触发历史记录扩展。

有关更多详细信息,您可以参考 GNU BASH 手册中历史交互部分这里

© www.soinside.com 2019 - 2024. All rights reserved.