最佳答案
我需要从 Bash CLI 中传递一个字符串作为程序的参数,例如
program "don't do this"
字符串可能包含任何字符,如 '$'
、 '\'
等,我不希望 Bash 做任何修改。所以我想用单引号。
然而,以下方法不起作用:
program 'don\'t do this' //escape doesn't work in single quote
而以下两个作品:
program $'dont\'t do this' //seems fine, but any other side effects?
program 'dont'\''do this' //breaking into 3 parts
第一种方法似乎更好,因为它获得较少的预修改(将美元符号放在前面,并将每个 \
替换为 \\
) ,但我不知道美元符号还可以做什么。
我真的谷歌了这个,但我找不到我需要的..。