我现在正在尝试将整个目录从一个集群镜像复制到另一个集群。但是当名称中有空格时它会失败并且我无法弄清楚如何解决这个问题,因为似乎 scp 认为我正在复制多个文件。我正在使用一个变量来标记我需要的路径,因此通过添加反斜杠似乎不容易解决。
这是我正在使用的代码:
if ssh user@ip -i key test -d "'$current_dir'"; then
echo "Directory exists. Ready to copy $dir_name."
scp -i key -r "$current_dir/$dir_name" user@$ip:"$current_dir/$dir_name"
else
echo Directory doesn\'t exist. Making a new directory.
ssh user@$ip -i key mkdir "'$current_dir'"
scp -i key -r "$current_dir/$dir_name" user@$ip:"$current_dir/$dir_name"
fi
Run Code Online (Sandbox Code Playgroud)
我试过单引号、双引号和带双引号的单引号,但它们都不起作用。有人可以帮我解决吗?顺便说一句,代码中的 mkdir 语句有效。