Linux命令使用时路径存在空格、特殊符号

https://blog.csdn.net/Homewm/article/details/102935965

Linux命令使用时路径存在空格、特殊符号(如-、@等等)如何处理呢?

再如可以转义的字符包括:"?"(问号), "*"(星号), " "(空格), "$"(货币符), "&"(逻辑符), "( )"(英文括号)等等。

(1)Linux路径约定

       在Linux下可以使用长文件名和目录名,可以给它们取任何名称,但是必须遵守以下规则:

  ☆除了/外,所有的字符都可以;
  ☆有些字符最好不用,如空格符、制表符、退格符和以下字符:? @ # $ & ( ) | ' ' " " 等(其中,/ 号已经在第一条被严格禁止了,()是英文括号; 

  ☆避免使用+-或.作为普通文件名的第一个字符(在Linux下以.开头的文件是属于隐藏文件; 

  ☆和Windows文件命名不一样的是,在Linux下文件名大小写敏感。

  ☆另外,尽量避免使用中文和中文符号;

解决办法

路径加上一个双引号

将每一个存在特殊符号的位置,都使用转义符“”进行转义,你不知道你的列表里是否包含了所有不能处理的特殊字符,以及字符的位置,修改后是否会引发新的问题。因此不是很建议采用此种方法。

special_symbol = ["?", "*", "@", "#", "$", "&", "%", "(", ")", " ", ""]

原文地址:https://www.cnblogs.com/HISAK/p/13304273.html