我需要使用来自Mac主机的SFTP和SSH将文本文件传输到远程PC(freeSSH)。这两个连接在本地网络中。
那么有没有办法从Bash脚本中运行SFTP命令(提供用户名和密码)?
我已经尝试使用expect
编写了一些脚本,但我没有得到任何结果。
我发现了一个类似的帖子, How to run the sftp command with a password from a Bash script ,但它适用于Linux。我有一台Mac。
答案 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
答案 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