linux 命令当中出现特殊字符无法传递参数怎么办

命令行特殊字符处理方法

linux命令中特殊符号包括:*、\、$、[、]、+、-、&、%、#、!、~、`、空格等,有特殊的含义,命令行中要注意这些符号的使用,不然会报错的。


举个例子,我这里有个目录:目录的名字中间有个空格(aa bb  是一个目录,不是两个只是中间有空格):

attachments-2018-05-mNe4qxm15b0f63f99f57f.

当我们想删除他的时候,直接删除会报错,rm会认为是两个目录:

方法1:把他引起来如下;

attachments-2018-05-QKJWOrCv5b0f647e472d6.方法2:转义一下  \ :

attachments-2018-05-l5Yz9LzG5b0f64f057f01.

其他命令也是一样:

上面只是举例个简单例子,所有linux命令都可以这样解决特殊字符,我觉得引号的方法更省事一些:

下面是我们大讲堂QQ群上一个群友遇到的问题:perl脚本有很多参数,而且参数值里面有很多特殊字符,导致linux分不清哪个是参数名,哪个是参数值导致出错:

attachments-2018-05-RJF47hmH5b0f62a670159.jpg

解决办法,把整个参数值引起来(红框的内容都引起来),而不是简单的把pacid引起来:

attachments-2018-05-zMJjpcBW5b0f65dec4f87.jpg


  • 发表于 2018-05-31 11:03
  • 阅读 ( 7650 )
  • 分类:linux

0 条评论

请先 登录 后评论
omicsgene
omicsgene

生物信息

654 篇文章

作家榜 »

  1. omicsgene 654 文章
  2. 安生水 325 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. 红橙子 78 文章
  6. CORNERSTONE 72 文章
  7. rzx 67 文章
  8. xun 66 文章