單引號是無法嵌套的,因為bash的line掃描算法遇到下一個單引號就會和上一個直接配對,沒有貪婪掃描的說法。
既然如此,實際上一個替代方案立即就會呈現出來:
這個序列首先提供一個閉合單引號,然后是一個命令行轉義字符的單引號,最后提供一個開單引號,從而解決了問題。例如:
查看你在shell中最常使用的命令的頻度。
在BASH中,例如十六進制轉義符“\x27”來表示單引號也是可以的,這是另一種達到單引號中嵌套單引號的辦法。
如果直接使用“\’”轉義字符會怎么樣呢?我遺憾地告訴你,這種方案是要拼人品的,有可能產生語法錯誤,也可能順利通過:
最安全的是我們提出的第一種方法。
單引號是無法嵌套的,因為bash的line掃描算法遇到下一個單引號就會和上一個直接配對,沒有貪婪掃描的說法。
既然如此,實際上一個替代方案立即就會呈現出來:
這個序列首先提供一個閉合單引號,然后是一個命令行轉移字符的單引號,最后提供一個開單引號,從而解決了問題。例如:
查看你在shell中最常使用的命令的頻度。
在BASH中,例如十六進制轉義符“\x27”來表示單引號也是可以的,這是另一種達到單引號中嵌套單引號的辦法。
如果直接使用“\’”轉義字符會怎么樣呢?我遺憾地告訴你,這種方案是要拼人品的,有可能產生語法錯誤,也可能順利通過:
1
|
echo
'abb\'fine'
|
最安全的是我們提出的第一種方法。