zoukankan      html  css  js  c++  java
  • expect 交互 之shell执行命令操作

    shell 执行命令操作

    /usr/bin/expect -c "
    proc jiaohu {} {
        send_user expect_start
        expect {
            password {
                send ${RemotePasswd}
    ;
                send_user expect_eof
                expect {
                    "does not exist" {
    send_user expect_failure
    exit 10
                    }
                    password {
    send_user expect_failure
    exit 5
                    }
                    Password {
    send ${RemoteRootPasswd}
    ;
    send_user expect_eof
    expect {
        incorrect {
            send_user expect_failure
            exit 6
        }
        eof 
    }
                    }
                    eof
                }
            }
            passphrase {
                send ${KeyPasswd}
    ;
                send_user expect_eof
                expect {
                    "does not exist" {
    send_user expect_failure
    exit 10
                    }
                    passphrase{
    send_user expect_failure
    exit 7
                    }
                    Password {
    send ${RemoteRootPasswd}
    ;
    send_user expect_eof
    expect {
        incorrect {
            send_user expect_failure
            exit 6
        }
        eof
    }
                    }
                    eof
                }
            }
            Password {
                send ${RemoteRootPasswd}
    ;
                send_user expect_eof
                expect {
                    incorrect {
    send_user expect_failure
    exit 6
                    }
                    eof
                }
            }
            "No route to host" {
                send_user expect_failure
                exit 4
            }
            "Invalid argument" {
                send_user expect_failure
                exit 8
            }
            "Connection refused" {
                send_user expect_failure
                exit 9
            }
            "does not exist" {
                send_user expect_failure
                exit 10
            }
            
            "Connection timed out" {
                send_user expect_failure
                exit 11
            }
            timeout {
                send_user expect_failure
                exit 3
            }
            eof
        }
    }
    set timeout $TimeOut
    switch $1 {
        Ssh_Cmd {
            spawn ssh -t -p $Port -o StrictHostKeyChecking=no $RemoteUser@$Ip /bin/su - root -c \"$Cmd\"
            jiaohu
        }
        Ssh_Script {
            spawn scp -P $Port -o StrictHostKeyChecking=no $ScriptPath $RemoteUser@$Ip:/tmp/${ScriptPath##*/};
            jiaohu
            spawn ssh -t -p $Port -o StrictHostKeyChecking=no $RemoteUser@$Ip /bin/su - root -c  \"/bin/sh /tmp/${ScriptPath##*/}\" ;
            jiaohu
        }
        Scp_File {
            spawn scp -P $Port -o StrictHostKeyChecking=no -r $ScpPath $RemoteUser@$Ip:${ScpRemotePath};
            jiaohu
        }
    }
    "
    state=`echo $?`
  • 相关阅读:
    Unity之图片压缩,批量设置,导入自动设置
    Unity之可寻址资源之初始化,下载
    最优二叉树
    独立任务最优调度问题
    石子合并问题
    linux初学笔记
    码农
    用循环打印出多种三角形
    人机猜拳(这是最近的一个总结)
    期末总结
  • 原文地址:https://www.cnblogs.com/sharesdk/p/8710066.html
Copyright © 2011-2022 走看看