prince royce Asked: 2024-01-09 18:29:53 +0800 CST2024-01-09 18:29:53 +0800 CST 2024-01-09 18:29:53 +0800 CST 如何创建名为“\?$*'ChouMi'*$?\”的文件? 772 我需要创建一个具有该确切名称的文件"\?$*'ChouMi'*$?\",以便ls将其显示为: $ ls | cat -e "\?$*'ChouMi'*$?\"$ $ files 1 个回答 Voted Best Answer Kusalananda 2024-01-09T18:33:34+08:002024-01-09T18:33:34+08:00 将名称放在单引号中。这使得 shell 不会处理反斜杠或看起来像字符串中的扩展的内容。 对于每个嵌入的单引号,暂时脱离单引号字符串并添加带引号的单引号(这本质上意味着在命令行上用'\''或替换每个单引号):'"'"' $ touch '"\?$*'\''ChouMi'\''*$?\"' $ ls "\?$*'ChouMi'*$?\" 同样,如果您需要变量中的名称: $ name='"\?$*'\''ChouMi'\''*$?\"' $ touch "$name" $ ls "\?$*'ChouMi'*$?\" (请注意,$name每当使用该值时都必须引用 。) 有点相关: bash 转义引号
将名称放在单引号中。这使得 shell 不会处理反斜杠或看起来像字符串中的扩展的内容。
对于每个嵌入的单引号,暂时脱离单引号字符串并添加带引号的单引号(这本质上意味着在命令行上用
'\''
或替换每个单引号):'"'"'
同样,如果您需要变量中的名称:
(请注意,
$name
每当使用该值时都必须引用 。)有点相关: