当前位置:网站首页>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

边栏推荐
- HISAT2 - StringTie - DESeq2 pipeline 进行bulk RNA-seq
- [set theory] Stirling subset number (Stirling subset number concept | ball model | Stirling subset number recurrence formula | binary relationship refinement relationship of division)
- Hnsw introduction and some reference articles in lucene9
- The embodiment of generics in inheritance and wildcards
- Lucene hnsw merge optimization
- Common methods of file class
- 【LeetCode】2. Valid Parentheses·有效的括号
- 技术干货|百行代码写BERT,昇思MindSpore能力大赏
- 截图工具Snipaste
- Traversal in Lucene
猜你喜欢

Project experience sharing: realize an IR Fusion optimization pass of Shengsi mindspire layer

Take you through the whole process and comprehensively understand the software accidents that belong to testing

UA camouflage, get and post in requests carry parameters to obtain JSON format content

The embodiment of generics in inheritance and wildcards

密西根大学张阳教授受聘中国上海交通大学客座教授(图)

Circuit, packet and message exchange

VMWare网络模式-桥接,Host-Only,NAT网络

技术干货|昇思MindSpore NLP模型迁移之Roberta ——情感分析任务

Technical dry goods Shengsi mindspire innovation model EPP mvsnet high-precision and efficient 3D reconstruction
![[set theory] Stirling subset number (Stirling subset number concept | ball model | Stirling subset number recurrence formula | binary relationship refinement relationship of division)](/img/d8/b4f39d9637c9886a8c81ca125d6944.jpg)
[set theory] Stirling subset number (Stirling subset number concept | ball model | Stirling subset number recurrence formula | binary relationship refinement relationship of division)
随机推荐
Qtip2 solves the problem of too many texts
Analysis of the eighth Blue Bridge Cup single chip microcomputer provincial competition
Leetcode 198: house raiding
lucene scorer
Go language foundation ----- 04 ----- closure, array slice, map, package
Paper learning -- Study on the similarity of water level time series of Xingzi station in Poyang Lake
Project experience sharing: realize an IR Fusion optimization pass of Shengsi mindspire layer
[Development Notes] cloud app control on device based on smart cloud 4G adapter gc211
Use of generics
Understanding of class
Technology dry goods | luxe model for the migration of mindspore NLP model -- reading comprehension task
Go language foundation ----- 07 ----- method
技术干货|昇思MindSpore NLP模型迁移之LUKE模型——阅读理解任务
An overview of IfM Engage
[set theory] order relation (partial order relation | partial order set | example of partial order set)
研究显示乳腺癌细胞更容易在患者睡觉时进入血液
IndexSort
Rabbit MQ message sending of vertx
Hnsw introduction and some reference articles in lucene9
[coppeliasim4.3] C calls UR5 in the remoteapi control scenario