当文件名包含空格时,文件名需要在scp命令中转义两次。
我可以从远程ip地址获取文件"somesoft someversion.apk“到本地"tmp”目录:
scp user@ip_address:/share/"somesoft\\ someversion.apk" /tmp它的工作方式是fine.Now --我想使用var名称来引用文件"somesoft someversion.apk“。
fname="somesoft someversion.apk"
scp user@ip_address:/share/"$fname" /tmp在scp命令中无法正确解析var:
scp: /share/somesoft: No such file or directory
scp: someversion.apk: No such file or directory如何在scp命令中适当地扩展其值包含空间的变量?
现在,真实的情况是,scp可以很好地处理两次转义:

现在要设置一个var并使用它赋值,那么scp:

在这种情况下,"'$fname'"没有魔法效果。
发布于 2022-08-01 08:50:41
你必须引用它的话。
fname="somesoft someversion.apk"
scp user@ip_address:/share/"$(printf "%q" "$fname")" /tmphttps://stackoverflow.com/questions/73190499
复制相似问题