当前位置:网站首页>Iterm2设置
Iterm2设置
2022-07-03 07:36:00 【nsnsttn】
Item2
1.安装item2
使用 homebrew 安装 item2
brew install item2
可以打开 item2了使用了
查看所有 shell
cat /etc/shells
查看当前 shell
echo $SHELL
切换 shell
//切换到 base
chsh -s /bin/bash
//切换到 zsh
chsh -s /bin/zsh
2.安装插件
安装on-my-zsh
安装…
修改配置
vim ~/.zshrc
保存配置
source ~/.zshrc
3.配置expect自动登录
创建脚本
vim alecs.sh
#!/usr/bin/expect -f
set user 用户名
set host ip地址
set password 密码
set port 端口号(一般是 22)
set timeout -1
spawn ssh -o StrictHostKeyChecking=no -p $port $user@$host
expect "*assword:*"
send "$password\r"
interact
expect eof
配置 Iterm2

4.安装 rz sz 上传下载
mac上使用brew 安装lrzsz
brew install lrzsz
Linux 上使用 yum 安装 lrzsz
yum install -y lrzsz
在mac上创建两个脚本
- iterm2-recv-zmodem.sh
cd /usr/local/bin
vim iterm2-recv-zmodem.sh
如果执行失败就加上 sudo
sudo vim iterm2-recv-zmodem.sh
sudo chmod 777 iterm2-*
iterm2-recv-zmodem.sh内容
#!/bin/bash
osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm
if [[ $NAME = "iTerm" ]]; then
FILE=$(osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")")
else
FILE=$(osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")")
fi
if [[ $FILE = "" ]]; then
echo Cancelled.
# Send ZModem cancel
echo -e \\x18\\x18\\x18\\x18\\x18
sleep 1
echo
echo \# Cancelled transfer
else
cd "$FILE"
/usr/local/bin/rz -E -e -b --bufsize 4096
sleep 1
echo
echo
echo \# Sent \-\> $FILE
fi
- iterm2-send-zmodem.sh
cd /usr/local/bin
vim iterm2-send-zmodem.sh
chmod 777 iterm2-*
如果执行失败就加上 sudo
sudo vim iterm2-send-zmodem.sh
sudo chmod 777 iterm2-*
iterm2-send-zmodem.sh内容
#!/bin/bash
osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm
if [[ $NAME = "iTerm" ]]; then
FILE=`osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
else
FILE=`osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
fi
if [[ $FILE = "" ]]; then
echo Cancelled.
# Send ZModem cancel
echo -e \\x18\\x18\\x18\\x18\\x18
sleep 1
echo
echo \# Cancelled transfer
else
/usr/local/bin/sz "$FILE" --escape --binary --bufsize 4096
sleep 1
echo
echo \# Received $FILE
fi
配置 Iterm2


| Regular expression | Action | Parameters | Instant | Enabled |
|---|---|---|---|---|
| **B00000000000000 | Run Silent Coprocess… | /usr/local/bin/iterm2-recv-zmodem.sh | 都行 | √ |
| rz waiting to receive.**B0100 | Run Silent Coprocess… | /usr/local/bin/iterm2-send-zmodem.sh | 都行 | √ |
rz :上传
#在bash中,也就是iTerm2终端输入rz 就会弹出文件选择框,选择文件 choose 就开始上传,会上传到当前目录
rz
注意:单独用rz会有两个问题:上传中断、上传文件变化(md5不同),解决办法是上传是用rz -be,并且去掉弹出的对话框中“Upload files as ASCII”前的勾选。
-a, –ascii
-b, –binary 用binary的方式上传下载,不解释字符为ascii
-e, –escape 强制escape 所有控制字符,比如Ctrl+x,DEL等
rar,gif等文件文件采用 -b 用binary的方式上传。
文件比较大而上传出错的话,采用参数 -e
如果用不带参数的rz命令上传大文件时,常常上传一半就断掉了,很可能是rz以为上传的流中包含某些特殊控制字符,造成rz提前退出。
综上,请使用 rz -be
sz :下载
#sz fileName(你要下载的文件的名字) 回车,会弹出窗体 我们选择要保存的地方即可。
sz aaa.txt
5.解决 No such file or directory
使用rz或者 sz后出现了这个错误
/usr/local/bin/iterm2-send-zmodem.sh: line 17: /usr/local/bin/sz: No such file or directory
原因是:
由于我们使用 brew 安装lrzsz,我们的这个脚本在当前目录找不到lrzsz
lrzsz安装目录可以这样查看
brew list lrzsz
/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/lrb
/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/lrx
/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/lrz
/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/lsb
/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/lsx
/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/lsz
/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/rz
/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/sz
/opt/homebrew/Cellar/lrzsz/0.12.20_1/share/man/ (2 files)
关键是这俩
/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/rz
/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/sz
解决方式有两种
方式一 :创建软连接
在 /usr/local/bin/目录下创建软连接
sudo ln -s /opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/rz /usr/local/bin/rz
sudo ln -s /opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/sz /usr/local/bin/sz
方式二:修改配置文件
修改 iterm2-recv-zmodem.sh
#!/bin/bash
osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm
if [[ $NAME = "iTerm" ]]; then
FILE=$(osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")")
else
FILE=$(osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")")
fi
if [[ $FILE = "" ]]; then
echo Cancelled.
# Send ZModem cancel
echo -e \\x18\\x18\\x18\\x18\\x18
sleep 1
echo
echo \# Cancelled transfer
else
cd "$FILE"
#/usr/local/bin/rz -E -e -b --bufsize 4096
#/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/rz 换成你安装lrzsz的路径,刚才查到的那个
/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/rz -E -e -b --bufsize 4096
sleep 1
echo
echo
echo \# Sent \-\> $FILE
fi
**修改 iterm2-send-zmodem.sh **
#!/bin/bash
osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm
if [[ $NAME = "iTerm" ]]; then
FILE=`osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
else
FILE=`osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
fi
if [[ $FILE = "" ]]; then
echo Cancelled.
# Send ZModem cancel
echo -e \\x18\\x18\\x18\\x18\\x18
sleep 1
echo
echo \# Cancelled transfer
else
#/usr/local/bin/sz "$FILE" --escape --binary --bufsize 4096
#/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/sz 换成你安装lrzsz的路径,刚才查到的那个
/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/sz "$FILE" --escape --binary --bufsize 4096
sleep 1
echo
echo \# Received $FILE
fi
6.解决使用expect自动登录后,不能使用rz和sz命令的问题
将Mac本地的LC_CTYP环境变量设置成en_US
#不推荐直接修改,创建一个脚本,在脚本中执行
vim aliecs1.sh
#!/bin/sh
#将Mac本地的LC_CTYP环境变量设置成en_US,解决无法 rz 的问题
export LC_CTYPE=en_US
#这里是你expect自动登录的脚本
/Users/zhangzhiyuan/ssh/aliecs.sh
将Iterm2 这里的aliecs.sh改成aliecs1.sh

边栏推荐
- Use of generics
- 哪一刻你才发现青春结束了
- Go language foundation ----- 09 ----- exception handling (error, panic, recover)
- GoLang之结构体
- Shengsi mindspire is upgraded again, the ultimate innovation of deep scientific computing
- Various postures of CS without online line
- Spa single page application
- List exercises after class
- TreeMap
- Rabbit MQ message sending of vertx
猜你喜欢

IO stream system and FileReader, filewriter

Inverted chain disk storage in Lucene (pfordelta)

【MindSpore论文精讲】AAAI长尾问题中训练技巧的总结

Traversal in Lucene

技术干货|昇思MindSpore NLP模型迁移之Bert模型—文本匹配任务(二):训练和评估

Technical dry goods | hundred lines of code to write Bert, Shengsi mindspire ability reward

Map interface and method

c语言指针的概念

How long is the fastest time you can develop data API? One minute is enough for me

Usage of requests module
随机推荐
Analysis of the ninth Blue Bridge Cup single chip microcomputer provincial competition
最全SQL与NoSQL优缺点对比
Understanding of class
[set theory] order relation (partial order relation | partial order set | example of partial order set)
SQL create temporary table
PAT甲级 1030 Travel Plan
Introduction of transformation flow
哪一刻你才发现青春结束了
Traversal in Lucene
Go language foundation ----- 15 ----- reflection
Leetcode 213: looting II
Technical dry goods Shengsi mindspire elementary course online: from basic concepts to practical operation, 1 hour to start!
The babbage industrial policy forum
IO stream system and FileReader, filewriter
Topic | synchronous asynchronous
Use of other streams
Analysis of the eighth Blue Bridge Cup single chip microcomputer provincial competition
Vertx's responsive redis client
Industrial resilience
Homology policy / cross domain and cross domain solutions /web security attacks CSRF and XSS