使用 scp 和脚本将文件从本地复制到远程文件夹 "No such file or directory"
Copy files from a local to remote folder with scp and script throws "No such file or directory"
描述
我想使用 scp 将所有以 .jpg 结尾的文件从我的本地机器复制到远程机器。
为此我有一个小 "script"。它看起来像这样:
#!/bin/bash
xfce4-terminal -e "scp -r -v /path/to/local/folder/*.jpg <user>@<IP>:/var/path/to/remote/folder/" --hold
问题
当我打开终端并输入 scp -r -v /path/to/local/folder/*.jpg <user>@<IP>:/var/path/to/remote/directory/
时,它起作用了。
所以 SSH 工作正常。
当我启动脚本时它没有。
当我复制整个本地文件夹时,该脚本有效。然后看起来像这样(只是删除了 *.jpg
):
#!/bin/bash
xfce4-terminal -e "scp -r -v /path/to/local/folder/ <user>@<IP>:/var/path/to/remote/folder/" --hold
但是我在远程文件夹中有本地文件夹,我只想要文件。
我不知道,这是否重要,但目前我使用的计算机装有 Linux Mint 19.3、xfce 终端和 zshell。
问题
那么我如何 运行 正确地将文件从本地文件夹复制到远程文件夹的脚本?
扩展通配符的是 shell,但是当你在 xfce4-terminal 中 运行 -e
时,它 运行s 命令没有让 shell 解析它。您可以 运行 一个 shell 到 运行 命令,但是:
xfce4-terminal -e "bash -c 'scp -r -v /path/to/local/folder/*.jpg user@ip:/var/path/to/remote'" --hold
您确定需要-r
吗?目录通常不命名为 .jpg
.
描述
我想使用 scp 将所有以 .jpg 结尾的文件从我的本地机器复制到远程机器。 为此我有一个小 "script"。它看起来像这样:
#!/bin/bash
xfce4-terminal -e "scp -r -v /path/to/local/folder/*.jpg <user>@<IP>:/var/path/to/remote/folder/" --hold
问题
当我打开终端并输入 scp -r -v /path/to/local/folder/*.jpg <user>@<IP>:/var/path/to/remote/directory/
时,它起作用了。
所以 SSH 工作正常。
当我启动脚本时它没有。
当我复制整个本地文件夹时,该脚本有效。然后看起来像这样(只是删除了 *.jpg
):
#!/bin/bash
xfce4-terminal -e "scp -r -v /path/to/local/folder/ <user>@<IP>:/var/path/to/remote/folder/" --hold
但是我在远程文件夹中有本地文件夹,我只想要文件。
我不知道,这是否重要,但目前我使用的计算机装有 Linux Mint 19.3、xfce 终端和 zshell。
问题
那么我如何 运行 正确地将文件从本地文件夹复制到远程文件夹的脚本?
扩展通配符的是 shell,但是当你在 xfce4-terminal 中 运行 -e
时,它 运行s 命令没有让 shell 解析它。您可以 运行 一个 shell 到 运行 命令,但是:
xfce4-terminal -e "bash -c 'scp -r -v /path/to/local/folder/*.jpg user@ip:/var/path/to/remote'" --hold
您确定需要-r
吗?目录通常不命名为 .jpg
.