#!/bin/bash
# upload file command: sh sftpupload.sh ip username password localfilepath remotepath
# upload folder command: sh sftpupload.sh ip username password localfolderpath remotepath
if [ "$#" -eq "5" ]; then
IP=$1
USER=$2
PWD=$3
LOCAL=$4
REMOTE=$5
lftp -u ${USER},${PWD} sftp://${IP} <<EOF
cd ${REMOTE}
put ${LOCAL}
bye
EOF
elif [ "$#" -eq "6" ]; then
IP=$1
USER=$2
PWD=$3
LOCAL=$5
REMOTE=$6
lftp -u ${USER},${PWD} sftp://${IP} <<EOF
cd ${REMOTE}
mirror -R ${LOCAL}
bye
EOF
fi
- 注意if语句里面的空格
- EOF后面不能有空格,否则会报错
- 使用lftp命令实现免密码输入,采用重定向的方式,将EOF之间的文本输入到lftp的命令行中