我需要创建一个具有该确切名称的文件"\?$*'ChouMi'*$?\"
,以便ls
将其显示为:
$ ls | cat -e
"\?$*'ChouMi'*$?\"$
$
答案1
将名称放在单引号中。这使得 shell 不会处理反斜杠或看起来像字符串中的扩展的内容。
对于每个嵌入的单引号,暂时脱离单引号字符串并添加带引号的单引号(这本质上意味着在命令行上用'\''
或替换每个单引号):'"'"'
$ touch '"\?$*'\''ChouMi'\''*$?\"'
$ ls
"\?$*'ChouMi'*$?\"
同样,如果您需要变量中的名称:
$ name='"\?$*'\''ChouMi'\''*$?\"'
$ touch "$name"
$ ls
"\?$*'ChouMi'*$?\"
(请注意,$name
每当使用该值时都必须引用 。)
有点相关: