我正在创建一个智能脚本来将文件上传到sftp站点。我无法使用scp,因为我无法控制sftp站点,并且供应商不允许公钥认证。bash脚本将文件上传到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 - [email protected]
}
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服务器。文件名永远不会被读取,并且会进入无限循环。如果可能的话,我想定义一个位置来指定上传文件的位置。
所以这有什么问题?从WHERE读取文件名? – 2015-04-02 14:32:56
当我通过文件名上传我添加文件名,但它进入无限循环 – user1814718 2015-04-02 14:38:09