我有一个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/