Following is how you can non-interactively use SFTP in bash
-----------------------------------------------------------------------------------------------
#!/bin/sh
# Setup credentials
HOST='ftp.abc.com'
USER='username'
PASS='password'
lftp -u ${USER},${PASS} sftp://${HOST} <<END_OF_SFTP
cd dir
get file
bye
END_OF_SFTP
-----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------
#!/bin/sh
# Setup credentials
HOST='ftp.abc.com'
USER='username'
PASS='password'
lftp -u ${USER},${PASS} sftp://${HOST} <<END_OF_SFTP
cd dir
get file
bye
END_OF_SFTP
-----------------------------------------------------------------------------------------------