SCP不能用bash脚本中的空格路径?

pou*_*def 1 linux bash shell scp

我有一个bash脚本生成一个SCP命令来执行.代码的相关部分如下所示:

echo $COPY_CMD
$COPY_CMD
Run Code Online (Sandbox Code Playgroud)

我的输出如下:

rascher@localhost:~/Desktop/video_final$ ./xfervids.sh 
scp "/media/My Book/PhotosVideos/Videos/18May2008Download/SD_VIDEO/PRG001/MOV056.MOD" rascher@192.168.1.101:./video_working/
rascher@192.168.1.101's password: 
"/media/My: No such file or directory
Book/PhotosVideos/Videos/18May2008Download/SD_VIDEO/PRG001/MOV056.MOD": No such file or directory

但是,当我选择输出的第2行:scp "/media/...复制它,并将其粘贴到终端中时,它可以工作.

我究竟做错了什么?我已经尝试在"My Book"("My\ Book")中转义空间,放置两个\字符而不是一个("My\\ Book")但是我不能让它表现得一致.救命?

Jon*_*ler 5

当路径名中有空格时,您必须非常小心.

在上下文中,您可能需要:

eval $COPY_CMD
Run Code Online (Sandbox Code Playgroud)

这次你不需要变量的引号.