如何逃脱路径中的“`”(强调坟墓/反叛)?

Modified on: Fri, 16 Aug 2019 02:40:03 +0800

我倾向于使用带有“重音符号”字符的文件和文件夹作为前缀(非移位代字号,背面音符或普通旧音符,无论如何......),它很容易搞定,让我按字母顺序排序,同时让我选择在顶部显示一些项目。 可以很好地工作,除非我通过CLI或SSH / SCP访问这些文件。

如果我尝试运行命令,调用未转义的文件↝它会让我进入一个交互式会话..例如↯

# scp -r dns.local:/`Downloads/CrazyRussianCars/ ~/
↩
>

然而,如果我尝试逻辑解决方案↯

# scp -r dns.local:/\`Downloads/CrazyRussianCars/ ~/
↩
bash: -c: line 0: unexpected EOF while looking for matching ``'
bash: -c: line 1: syntax error: unexpected end of file

我知道“新”规则是使用export NOW=$(date) vs export NOW=之类的语法
`date`(事实上,我有一段时间甚至在SE MD语法中写后者...)但这与ENV或任何脚本无关...

注意:这个 是一个Mac OS X环境,但是说,GUI在日常处理这个角色时从未遇到过问题通常,如果在终端中出现语法问题,Apple在禁用GUI中的行为方面做得很好......不确定这是否是一个错误,或者处理这些路径的技术是简直模糊..但到目前为止,我一直未能找到“逃避它”的方法

作者:mralexgray

最佳答案

你可以使用Jed Daniels提到的3个反斜杠,或者你可以用单引号(')包装它并使用一个反斜杠。

两者的例子如下。

$ touch dir/'`rik' 
$ ls -l dir
total 1865376
-rw-r--r--  1 rik  staff          0 Jul  1 09:51 `rik 
$ scp localhost:dir/\\\`rik ./ `rik         
100%    0     0.0KB/s   00:00     
$ scp localhost:dir/'\`rik' ./ `rik     
100%    0     0.0KB/s   00:00     
$

相关问答

添加新评论