繁体   English   中英

bash脚本将文件上传到sftp

[英]bash script to upload files to sftp

我正在寻找创建一个智能脚本以将文件上传到sftp站点。 我无法使用scp,因为我无法控制sftp站点,而且供应商不允许公钥身份验证。

#!/bin/bash

            read -p "Do you want to list the sftp site contents (y/n): " list
            read -p "Upload Selected file, type the name of the file: " uploadfilename


    conenctsfttp() {
            export SSHPASS=****
            sshpass -e sftp -oBatchMode=no -b - testuser@example.com
    }

    listfiles() {
            if [[ $list = y ]];
            then
            conenctsfttp <<< $'ls\n bye'
            else
            echo not list
            fi
    }

    uploadfilen() {
    #        if [[ $uploadfilename = y ]];
    #        then
            conenctsfttp << EOF
            put $(uploadfilename)
    EOF
    }

    listfiles
    uploadfilen

我如何使脚本读取文件名并将文件上传到sftp服务器。 文件名永远不会被拾取,并且会进入无限循环。 如果可能的话,我想定义一个文件上传位置。

$(uploadfilename)应该是$uploadfilename

$(...)是命令替换的另一种形式。 要引用(检索)变量中的值,您想使用$variable语法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM