我要顯示這樣如何在Bash中單引號字符串中單引號轉義?
I'm a student
當然Bash中的字符串,你可以做這樣的
echo "I'm a student"
但如何做到這一點的同時使用字符串周圍單引號?
我要顯示這樣如何在Bash中單引號字符串中單引號轉義?
I'm a student
當然Bash中的字符串,你可以做這樣的
echo "I'm a student"
但如何做到這一點的同時使用字符串周圍單引號?
echo 'I\'m a student'
不起作用。但以下工作:
echo $'I\'m a student'
從慶典的手冊頁:
單引號可能無法單引號之間出現,前面有反斜槓 時也是如此。形式$ '字符串'的
....
詞會被特殊對待。字 擴展爲字符串,反斜槓轉義字符替換爲由ANSI C標準指定的 。
一個醜陋的形式是:'「我」「」‘碩士生’ –
爲什麼,bash,* whyyyy *? –
'echo $'我是一名學生!'=>'!':event not found',這不是一個真實的單引號字符串,在bash中,它應該避免任何解釋。 – regilero
格倫傑克曼提到的「醜陋」解決方案實際上應該被列爲頂級答案。它運作良好,在某些情況下實際上很漂亮。
'I'"'"'m a student'
這結束I
再經過單引號字符立即啓動包含一個單引號雙引號字符串,然後啓動另一個單引號字符。 Bash然後將所有連續的字符串連接成一個。
美麗!下面
我認爲我們對美的定義有所不同......;) –
的例子工程,因爲轉義單引號\'
在技術上是兩個單引號參數
echo 'I'\''m a student'
對不起之間,有沒有辦法放置一個單引號在單引號之間。見http://www.gnu.org/software/bash/manual/bashref.html#Special-Parameters一節'3.1.2.2單Quotes' –