file - SFTP 使用 bash 脚本发送文件

标签 file bash send sftp

我正在使用 key 身份验证,因此密码不是问题。我有一个我知道名字的文件,我只是想通过 sftp 将它发送到另一台机器。

我尝试搜索但无法在任何地方找到这个(看似简单的)问题。也许我今天的 Google-fu 只是让我失望了。

简而言之:我在本地机器上,想将文件 (test.txt) 发送到远程机器。已提供授权 key 。基本上我想自动化这三个步骤:

sftp root@remote:/root/dropoff
put test.txt
quit

是否有一个简单的 bash 命令可以用来自动执行此操作?我见过的唯一选择是使用 bash 脚本执行放置/退出并使用 -b 选项运行它。还有比这更干净的吗? (我对使用任何其他应用程序/工具不感兴趣。)

谢谢!

最佳答案

我知道这是旧的,但您也可以将参数传递给带有 Here Document 的命令

您可以将以下内容放入脚本中:

# The following is called a HERE document
sftp <user>@<remote> << SOMEDELIMITER 
  put test.txt
  ... # any commands you need to execute via sftp
  quit
SOMEDELIMITER

每个额外的命令都将被输入到 << 之前的命令中和 SOMEDELIMTER可以是您想要的任何东西。

scp 是一个很好的选择,但是当我从 linux 推送到 windows 时,sftp 是我唯一能够工作的工具,而你在服务模式下使用 FreeSSHD 时遇到了困难!

关于file - SFTP 使用 bash 脚本发送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11744547/

相关文章:

eclipse - 将 Eclipse 中的路径/文件名复制到剪贴板

python - 使用 Python 在 CSV 文件中搜索和匹配字符串的一部分

bash - BASH 中更快的文本数据处理

c++ - UDP 发送()到 Winsock 下的本地主机丢弃数据包?

java - DataOutputStream 不发送 -1

java - 在 Java 中,将命令发送到另一个命令行程序

asp.net - 在 asp.net 中使用 csv 文件进行响应

file - 使用 tcsh 终端创建多个空文件

bash - Unix bash 切割和 grep

bash - 如何强制 F# interactive 默认引用 Gtk#?