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

时间:2018-04-23 19:09:41

标签: linux bash shell special-characters filenames

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

1 个答案:

答案 0 :(得分:6)

您需要escape special characters使用反斜杠符号(\)。

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

touch \"\\\?\$\*\'KwaMe\'\*\$\?\\\"

解释

  1. 加倍\ ,如下所示:\\,这样你的shell就不会将文件名中的反斜杠解释为转义字符。
  2. 退出"' ,如下所示:\"\',以便您的shell将双引号解释为文件名。
  3. 逃脱$ ,如下所示:\$,否则您的shell会认为您正在使用a variable
  4. 逃避?* ,如下所示:\?\*,以阻止filename expansion