[問題記錄]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\r";exp_continue;}
   "*assword:*" { send "$PASSWORD\r" }
}
# 登錄成功后,可以執行別的命令,如
expect "~]*" {send "ssh xxxx\r"}
expect {
   "yes/no" {send "yes\r";exp_continue;}
   "\\\$"
}

 

iterm2設置如下:

 

 

sz/rz的設置可以按照網上方式設置即可, 這樣就能使用sz/rz命令了 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM