轉義使用插入符號()
使用插入符號(^
)可以轉義大多數特殊字元。看一下下面的例子。
echo > Hi
echo ^> Hi
第一個命令不會輸出 > Hi
,因為 >
是一個特殊字元,這意味著將輸出重定向到檔案。在這種情況下,檔名為 Hi
然而在第二個命令中,> Hi
將毫無問題地輸出,因為插入符號(^
)告訴 >
停止作為重定向輸出到檔案命令,現在 >
只是一個普通字元。
這是一個可以轉義的特殊字元列表(從 Rob van der Woude 的頁面中獲取和編輯)
字元 | 轉義結果 | 備註 |
---|---|---|
^ | ^^ | |
& | ^& | |
< | ^ < | |
> | ^> | |
^ | ||
\ | ^ \ | |
! | ^^! | 僅在啟用 DelayedExpansion 時才需要 |
逃離插入符號
可以將插入物堆疊起來以轉義其他插入符號,請考慮以下示例。
輸入 | 輸出 |
---|---|
^& | & |
^ ^ ^& | ^& |
^ ^ ^ ^ ^& | ^^& |
注意:粗體形式的插入符號將被轉義。
安全問題
這裡有點偏離主題,但這非常重要! 檔案末尾的不需要的插入符號轉義可能會導致記憶體洩漏!
any-invalid-command-you-like-here ^
此命令會洩漏所有記憶體,導致系統完全無法使用 ! 有關更多資訊,請參見此處