bash單引號嵌套


轉自:https://blog.jysoftware.com/2015/12/bash-%E6%80%8E%E4%B9%88%E5%81%9A%E5%8D%95%E5%BC%95%E5%8F%B7%E5%B5%8C%E5%A5%97%EF%BC%9F/

單引號是無法嵌套的,因為bash的line掃描算法遇到下一個單引號就會和上一個直接配對,沒有貪婪掃描的說法。

既然如此,實際上一個替代方案立即就會呈現出來:

 

 

這個序列首先提供一個閉合單引號,然后是一個命令行轉義字符的單引號,最后提供一個開單引號,從而解決了問題。例如:

 

 

查看你在shell中最常使用的命令的頻度。

在BASH中,例如十六進制轉義符“\x27”來表示單引號也是可以的,這是另一種達到單引號中嵌套單引號的辦法。

如果直接使用“\’”轉義字符會怎么樣呢?我遺憾地告訴你,這種方案是要拼人品的,有可能產生語法錯誤,也可能順利通過:

 

 

最安全的是我們提出的第一種方法。

單引號是無法嵌套的,因為bash的line掃描算法遇到下一個單引號就會和上一個直接配對,沒有貪婪掃描的說法。

既然如此,實際上一個替代方案立即就會呈現出來:

 

 

這個序列首先提供一個閉合單引號,然后是一個命令行轉移字符的單引號,最后提供一個開單引號,從而解決了問題。例如:

 

 

查看你在shell中最常使用的命令的頻度。

在BASH中,例如十六進制轉義符“\x27”來表示單引號也是可以的,這是另一種達到單引號中嵌套單引號的辦法。

如果直接使用“\’”轉義字符會怎么樣呢?我遺憾地告訴你,這種方案是要拼人品的,有可能產生語法錯誤,也可能順利通過:

 

 

最安全的是我們提出的第一種方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM