• [问题记录]mac iterm2 expect 方式sz rz 卡死


     

    解决不支持rz 和sz问题

    脚本开头可以加入:export LC_CTYPE=en_US

    将本地的LC_CTYPE环境变量设置成en_US,这样再用expect脚本自动登录,登录成功就可以使用rz 和sz传输文件了(亲测可用)

    推荐:将此变量放在脚本里设置,这样只是影响当前连接远程机器但session,如果设置在.bash_profile脚本里,则可能会有中文显示乱码问题。

    shell脚本如下:

    #!/bin/sh
    basepath=$(cd `dirname $0`; pwd)
    export LC_CTYPE=en_US
    #expect脚本所在位置
    filepath=$basepath/autologin/loginif [ -f $filepath ]; then
      expect $filepath $1 $2
    else
      echo "$filepath not exits"
    fi

    expect脚本如下:

    #!/usr/bin/expect
    set USER root
    set PASSWORD xxxxxxxxxxxx
    set HOST xxx.xxx.xxx.xxx
    spawn ssh -l $USER $HOST
    expect {
       "yes/no" {send "yes
    ";exp_continue;}
       "*assword:*" { send "$PASSWORD
    " }
    }
    # 登录成功后,可以执行别的命令,如
    expect "~]*" {send "ssh xxxx
    "}
    expect {
       "yes/no" {send "yes
    ";exp_continue;}
       "\$"
    }

    iterm2设置如下:

    sz/rz的设置可以按照网上方式设置即可, 这样就能使用sz/rz命令了 

  • 相关阅读:
    vue中常用的属性标签
    Vue 基本简介
    ES6 Map 和 WeakMap
    ES6 set/weakset
    ES6 generator生成器函数 async
    ES6 promise对象
    信息论-熵-随机变量-泛函
    机器学习一
    RS-232接口
    图的存储结构
  • 原文地址:https://www.cnblogs.com/snailon/p/14392884.html
Copyright © 2020-2023  润新知