如何在Linux中创建具有特殊字符的文件?

Cam*_*ley 2 linux bash shell filenames special-characters

我正在使用该touch命令尝试创建一个带有名称的文件"\?$*'KwaMe'*$?\"(引号作为文件名的一部分包含在内).但是当我输入touch "\?$*'KwaMe'*$?\"终端时,它并没有给我我期望的结果.我该如何创建这个文件?

Ron*_*eau 8

您需要使用反斜杠符号()转义特殊字符\.


此命令将创建一个名为的文件"\?$*'KwaMe'*$?\":

touch \"\\\?\$\*\'KwaMe\'\*\$\?\\\"
Run Code Online (Sandbox Code Playgroud)

说明

  1. 加倍\,就像这样:\\,以便你的shell不会将文件名中的反斜杠解释为转义字符.
  2. 逃生"',像这样:\",\',让你的shell解释双引号作为文件名的一部分.
  3. 逃避$,像这样:\$,否则你的shell会认为你正在使用变量.
  4. 逃生?*,像这样:\?,\*,以防止文件名扩展.

  • @kirill.z 这与原来的问题有点不同。您应该提出一个新问题,这样将来遇到相同问题的人会更容易找到。但如果您想让我看看,请随时在评论中分享您的问题的链接:) (2认同)