linux使用except和子进程交互

#!/bin/bash
#set -x

# FTP服务器信息
FTP_HOST="ftp.deepvision-tech.com"
FTP_USERNAME="huangbinbin"
FTP_PASSWORD="xxxxx."

# 远程目录和文件
REMOTE_DIRECTORY=$1
LOCAL_FILE=$2

ftp_command="ftp -n $FTP_HOST"
check_directory="cd $REMOTE_DIRECTORY"
create_directory="mkdir $REMOTE_DIRECTORY"
upload_file="put $LOCAL_FILE"

expect -c "
spawn $ftp_command
send \"user $FTP_USERNAME\r\"
expect \"Password\"
send \"$FTP_PASSWORD\r\"
expect \"ftp>\"
send \"$check_directory\r\"
expect {
    \"Directory successfully changed\" {
        send \"$upload_file\r\"
        expect \"ftp>\"
    }
    \"Failed to change directory.\" {
        send \"$create_directory\r\"
        expect \"ftp>\"
        send \"$check_directory\r\"
        expect {
            \"Directory successfully changed\" {
                send \"$upload_file\r\"
                expect \"ftp>\"
            }
            \"Failed to change directory.\" {
                exit 1
            }
            default {
                puts \"timeout .\"
                exit 1
            }
        }
    }
    default {
        puts \"timeout .\"
        exit 1
    }
}
expect eof
"

#interact




posted @ 2024-02-26 15:22  马肯尼煤牙巴骨  阅读(3)  评论(0编辑  收藏  举报