SFTP command in Bash script with Mac OS X

2019-06-28 07:57发布

问题:

I need to transfer a text file to a remote PC (freeSSH) using SFTP and SSH from a Mac host. These two are connected in a local network.

So is there a way to run an SFTP command (with the username and password provided) from inside the Bash script?

I already tried some scripting with expect, but I didn't get any results.

I found a similar post, How to run the sftp command with a password from a Bash script, but it is for Linux. I have a Mac.

回答1:

You can download and install sshpass on Mac as well. Get the latest version source from this download link

Rest of the steps on using sshpass are there in the linked answer of mine.



回答2:

lftp is great for scripting ftp (and sftp, ftps). And you can install it with brew:

brew install lftp


回答3:

Although @anubhava's answer is correct, it points to the sources only and compiling it without help is hard.

To install sshpass on MacOS using brew easily please use this unofficial package:

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

Source: https://gist.github.com/arunoda/7790979