说明
我想把所有以.jpg结尾的文件从我的本地机器复制到远程机器上,用scp.为此我有一个小 "脚本"。它看起来像这样。
#!/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。
我不知道这是否重要,但目前我使用的电脑是Linux Mint 19.3,xfce终端和zshell。
疑问
那么,我如何正确运行一个脚本,将文件从本地文件夹复制到远程文件夹?
是shell扩展了通配符,但是当你运行 -e
在xfce4-terminal中,它不需要让shell解析就能运行命令。不过,你可以运行shell来运行这个命令。
xfce4-terminal -e "bash -c 'scp -r -v /path/to/local/folder/*.jpg user@ip:/var/path/to/remote'" --hold
你确定你需要 -r
? 目录通常不命名 .jpg
.