#!/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的指令行中