我在文件名中有一个&,当我输入已验证到命令行的路径时,它无法识别它。

这是路径:


  /用户/ wendywang /库/开发人员/Xcode/DerivedData/ConsumeriOS-cchvkfmgubtyzydmbsgaxxxxxxxx/Build/Products/Debug-iphoneos/PG&E.app


它显示的错误是


  指定的目标进程无效
  
  E.app:找不到命令


由于&,它不起作用。我想知道如何在此处处理&?谢谢!

最佳答案

为了澄清起见,我将使用一个名字奇怪的文件重现该问题,然后尝试执行它。观察:

echo 'echo hello' > 'qaz&bar'

chmod +x 'qaz&bar'

./'qaz&bar'


或指定其完整路径:

/home/none/StackExchange/qaz\&bar


请注意\转义特殊的&字符。

要复制文件,如下所示:

cp '/home/none/StackExchange/qaz&bar' normal_name


本质上,可以使用单个记号''或反斜杠\字符来帮助操纵此类文件名,并防止Shell解释特殊字符。

10-07 17:46