转义使用插入符号()
使用插入符号(^)可以转义大多数特殊字符。看一下下面的例子。
echo > Hi
echo ^> Hi
第一个命令不会输出 > Hi,因为 > 是一个特殊字符,这意味着将输出重定向到文件。在这种情况下,文件名为 Hi
然而在第二个命令中,> Hi 将毫无问题地输出,因为插入符号(^)告诉 > 停止作为重定向输出到文件命令,现在 > 只是一个普通字符。
这是一个可以转义的特殊字符列表(从 Rob van der Woude 的页面中获取和编辑)
| 字符 | 转义结果 | 备注 |
|---|---|---|
| ^ | ^^ | |
| & | ^& | |
| < | ^ < | |
| > | ^> | |
| ^ | ||
| \ | ^ \ | |
| ! | ^^! | 仅在启用 DelayedExpansion 时才需要 |
逃离插入符号
可以将插入物堆叠起来以转义其他插入符号,请考虑以下示例。
| 输入 | 输出 |
|---|---|
| ^& | & |
| ^ ^ ^& | ^& |
| ^ ^ ^ ^ ^& | ^^& |
注意:粗体形式的插入符号将被转义。
安全问题
这里有点偏离主题,但这非常重要! 文件末尾的不需要的插入符号转义可能会导致内存泄漏!
any-invalid-command-you-like-here ^
此命令会泄漏所有内存,导致系统完全无法使用 ! 有关更多信息,请参见此处