如何创建名为“\?$*'ChouMi'*$?\”的文件?

如何创建名为“\?$*'ChouMi'*$?\”的文件?

我需要创建一个具有该确切名称的文件"\?$*'ChouMi'*$?\",以便ls将其显示为:

$ ls | cat -e
"\?$*'ChouMi'*$?\"$
$

答案1

将名称放在单引号中。这使得 shell 不会处理反斜杠或看起来像字符串中的扩展的内容。

对于每个嵌入的单引号,暂时脱离单引号字符串并添加带引号的单引号(这本质上意味着在命令行上用'\''或替换每个单引号):'"'"'

$ touch '"\?$*'\''ChouMi'\''*$?\"'
$ ls
"\?$*'ChouMi'*$?\"

同样,如果您需要变量中的名称:

$ name='"\?$*'\''ChouMi'\''*$?\"'
$ touch "$name"
$ ls
"\?$*'ChouMi'*$?\"

(请注意,$name每当使用该值时都必须引用 。)

有点相关:

相关内容