我需要从Bash命令行将一个字符串作为参数传递给程序,例如:
第一种方法似乎更好,因为它需要较少的预修改(将美元符号放在前面并将每个
我已经通过谷歌搜索,但我找不到我需要的...
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
第一种方法似乎更好,因为它需要较少的预修改(将美元符号放在前面并将每个
\
替换为\\
),但我不知道美元符号可能会产生什么其他影响。我已经通过谷歌搜索,但我找不到我需要的...
$'...'
的例子,请查看 bash info page 的第一段。 - suvayucat myData.tsv | column -t -s$'\t'
)非常重要。 - Sridhar Sarnobat