Linux命令使⽤时路径存在空格、特殊符号
blog.csdn/Homewm/article/details/102935965
Linux命令使⽤时路径存在空格、特殊符号(如-、@等等)如何处理呢?
再如可以转义的字符包括:"?"(问号), "*"(星号), " "(空格), "$"(货币符), "&"(逻辑符), "( )"(英⽂括号)等等。
(1)Linux路径约定
在Linux下可以使⽤长⽂件名和⽬录名,可以给它们取任何名称,但是必须遵守以下规则:
linux中文名  ☆除了/外,所有的字符都可以;
  ☆有些字符最好不⽤,如空格符、制表符、退格符和以下字符:? @ # $ & ( ) \ | ' ' " " 等(其中,/ 号已经在第⼀条被严格禁⽌了,()是英⽂括号;
  ☆避免使⽤+-或.作为普通⽂件名的第⼀个字符(在Linux下以.开头的⽂件是属于隐藏⽂件;
  ☆和Windows⽂件命名不⼀样的是,在Linux下⽂件名⼤⼩写敏感。
  ☆另外,尽量避免使⽤中⽂和中⽂符号;
解决办法
路径加上⼀个双引号
将每⼀个存在特殊符号的位置,都使⽤转义符“\”进⾏转义,你不知道你的列表⾥是否包含了所有不能处理的特殊字符,以及字符的位置,修改后是否会引发新的问题。因此不是很建议采⽤此种⽅法。
special_symbol = ["?", "*", "@", "#", "$", "&", "%", "(", ")", " ", ""]