我有一个bash脚本,它生成一个要执行的scp命令。代码的相关部分如下所示:

echo $COPY_CMD
$COPY_CMD

我的输出如下:
rascher@localhost:~/desktop/video_final$。/xservices.sh
scp“/media/my book/photovideos/videos/2008年5月18日下载/sd懔video/prg001/mov056.mod”[email protected]:。/video懔u工作/
[email protected]密码:
“/media/my:没有这样的文件或目录
book/photovideos/videos/18may2008download/sd_video/prg001/mov056.mod“:没有这样的文件或目录
然而,当我取下输出的第2行:scp "/media/...,复制它,并将其粘贴到终端中时,它就工作了。
我做错什么了?我试着逃离“我的书”("My\ Book")中的空白,把两个字符而不是一个字符放进去,但是我不能让它保持一致。帮忙?

最佳答案

当路径名中有空格时,您必须非常小心。
在这种情况下,您可能需要:

eval $COPY_CMD

这次不需要在变量周围加引号。

关于linux - 无法从bash脚本中获取带有空格的SCP路径吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1972772/

10-15 05:07