我们经常使用 sz/rz 命令进行文件的上传下载,非常方便。但是在 Mac 下面就不能直接使用了需要进行配置才能使用
昨天在给客户调试相关代码时,需要覆盖一些代码,使用 rz 进行上传时却报错了:
代码语言:javascript复制rz waiting to receive.**B0100000023be50
使用 sz 下载也是报错:
代码语言:javascript复制**B00000000000000
并且都会卡死终端一段时间
解决方案
解决的方案有点复杂,一点一点来看
安装 lrzsz
首先需要我们安装一下 lrzsz,使用命令进行安装:
代码语言:javascript复制brew install lrzsz
配置 iTerm2
安装完成后我们需要在 iTerm2 中使用的话,还需要一些配置
进入到 /usr/local/bin 目录下,下载两个脚本文件
代码语言:javascript复制cd /usr/local/bin
sudo wget https://gist.githubusercontent.com/sy-records/1b3010b566af42f57fa6fa38138dd22a/raw/2bfe590665d3b0e6c8223623922474361058920c/iterm2-send-zmodem.sh
sudo wget https://gist.githubusercontent.com/sy-records/40f4ba22e3fbdeedf58463b067798962/raw/b32d2f7ac3fa54acca81be3664797cebb724690f/iterm2-recv-zmodem.sh
sudo chmod 777 /usr/local/bin/iterm2-*
下载好之后我们进行 iTerm2 的配置
点击 iTerm2 的设置界面 Perference -> Profiles -> Default -> Advanced -> Triggers 的 Edit 按钮
点击 号,添加如下的参数
代码语言:javascript复制Regular expression: rz waiting to receive.**B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh
Instant: checked
Regular expression: **B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
Instant: checked
添加完成如下图所示
至此,我们就可以愉快的使用 sz 和 rz 命令了