首页 > 系统相关 >linux使用except和子进程交互

linux使用except和子进程交互

时间:2024-02-26 15:36:05浏览次数:22  
标签:ftp file FTP except send expect 和子 linux directory

#!/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




标签:ftp,file,FTP,except,send,expect,和子,linux,directory
From: https://www.cnblogs.com/nocanstillbb/p/18034421

相关文章

  • Linux:离线搭建vsftpd服务并记录新建用户登录报错问题(转载)
    1.检查本机是否安装过vsftpd#检查是否存在vsftpdrpm-qa|grepvsftpd2.下载离线安装包下载地址:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64)3.开始安装vsftpd#安装vsftpdrpm-ivhvsftpd-3.0.2-21.el7.x86_64.rpm4.测试是否安装成功......
  • linux开放端口与防火墙开了吗
    netstat-lntp1.natstat是一个监控TCP/IP网络的非常有用的工具,可以用来查看网络状态2.常用参数-aall显示所有连接的socket,默认不显示LISTEN-ttcp显示TCP传输协议的连接状况-uudp显示UDP传输协议的连接状况-nnumeric直接使用IP地址,而不是通过域名解析器-llisten仅列出......
  • Linux-实时监控文件修改,并把修改后的文件复制到另一个目录
    1、首先确保环境有安装inotify-tools工具http://www.daileinote.com/computer/linux_cmd/43这里提供一个百度的压缩包链接:https://pan.baidu.com/s/1wp8gsPC7h0qpEj-Ge4xjpQ提取码:8888如果安装校验是否安装成功时,其中有报错,inotifywait:errorwhileloadingsharedlibrar......
  • 启用或禁用SELinux的方法
    SELinux介绍:SELinux是Security-EnhancedLinux的缩写。它就像Windows防火墙,但它更安全,更私密。它管理所有的访问控制策略。我们可以通过使用一些直接命令或实际进入SELinux配置文件并编辑状态来控制SELinux安全性的状态。SELinux有三个值:enforcing,permissiveanddisabl......
  • 项目实战:Qt监测操作系统cpu温度v1.1.0(支持windows、linux、国产麒麟系统)
    需求  使用Qt软件开发一个检测cpu温度的功能。  兼容windows、linux,国产麒麟系统(同为linux)Demo  windows上运行(需要管理员权限):    国产麒麟操作上运行(需要管理员权限):   功能描述v1.1.0windows上定时检测输出cpu温度。linux上定时检测输出cpu......
  • Linux内核工作原理
    目录简介简介Linux内核是操作系统的核心组件,负责底层硬件管理和资源分配,为上层应用程序提供一个稳定、统一的运行环境。以下是Linux内核的一些主要工作原理和组成部分:系统调用接口(SCI):SCI层提供了从用户空间到内核的函数调用的机制。它允许应用程序与内核进行交互,执行一些需要......
  • linux动态库和静态库 --20240225
    设计库的目的1)程序更加简洁,不需要维护太多的源文件2)保护三方厂商的知识产权gcc常用指令复习一波gcc的常用指令:-E:仅执行预处理(不要编译、汇编或链接)。-S:只编译(不汇编或链接)。-c:编译和汇编,但不链接。-o<file>:指定输出文件。-pie:创建一个动态链接、位置无关的可执行文件......
  • linux内核链表 --20240225
    提起linux内核链表,首先一定得弄清楚的两个linux内核常用宏offsetof&&container_ofoffsetof宏#defineoffsetof(TYPE,MEMBER)((size_t)&((TYPE*)0)->MEMBER)宏解析:1、size_t在系统中一般指unsignedint,无符号整型2、(TYPE*)0,把0地址强制转换成type结构体类型的指针......
  • Linux--基础学习
    Linux概念      Linux是一个开发源码的高性能的操作系统。Linux安装      选择在windows系统上安装Linux系统       条件:Ⅰ、CentOS-7-x86_64-DVD-1708.iso            Ⅱ、VMwareWorkstation   ......
  • Linux离线部署SpringBoot前后端分离项目
    本文介绍了在内网下的纯离线环境中部署SpringBoot前后端分离项目,由于是个前端仔,并未接触过linux,在经历诸多错误和踩坑之后,终于部署成功(大哭),在此记录一下。工具选择选择合适的工具进行远程连接,如Xshell、Xftp、putty、Terminus等Xshell:连接远程服务器的命令终端Xftp:连接远......