使用Mac OS X的Bash脚本中的SFTP命令

时间:2012-02-01 20:11:07

标签: macos bash ssh sftp

我需要使用来自Mac主机的SFTP和SSH将文本文件传输到远程PC(freeSSH)。这两个连接在本地网络中。

那么有没有办法从Bash脚本中运行SFTP命令(提供用户名和密码)?

我已经尝试使用expect编写了一些脚本,但我没有得到任何结果。

我发现了一个类似的帖子, How to run the sftp command with a password from a Bash script ,但它适用于Linux。我有一台Mac。

4 个答案:

答案 0 :(得分:3)

您也可以在Mac上下载并安装sshpass。从this download link

获取最新版本的来源

使用sshpass的其他步骤都在我的链接答案中。

答案 1 :(得分:2)

lftp非常适合脚本化ftp(和sftp,ftps)。您可以使用brew安装它:

brew install lftp

答案 2 :(得分:0)

尽管@anubhava的答案是正确的,但它仅指向源,很难在没有帮助的情况下进行编译。

要使用sshpass在MacOS上轻松安装brew,请使用以下非官方软件包:

brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb

来源:https://gist.github.com/arunoda/7790979

答案 3 :(得分:0)

使用自制软件安装最新版本的 sshpass:

brew install https://raw.githubusercontent.com/EasyG0ing1/sshpassBrew/main/Formula/sshpass.rb

您可能必须这样做才能安装它:

wget https://raw.githubusercontent.com/EasyG0ing1/sshpassBrew/main/Formula/sshpass.rb

brew install sshpass.rb