2023-03-29 iterm2遠程連接aliyun+安裝lrzsz

由于默認的終端/阿里云自帶的連接,無法實現(xiàn)lrzsz的rz+sz,因此需要iterm2


1. 安裝iterm2

2. 本地安裝lrzsz

brew install lrzsz?

3. 切換到 /usr/local/bin/ 目錄底下

cd /usr/local/bin

4. 在這個目錄底下,新建兩個文件

? ? iterm2-send-zmodem.sh/iterm2-recv-zmodem.sh
? ? 在github中可以參考:https://github.com/aikuyun/iterm2-zmodem

? ? 其中:
? ??iterm2-send-zmodem.sh

#!/bin/bash
# Author: Matt Mastracci (matthew@mastracci.com)
# AppleScript from http://stackoverflow.com/questions/4309087/cancel-button-on-osascript-in-a-bash-script
# licensed under cc-wiki with attribution required
# Remainder of script public domain
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-recv-zmodem.sh

#!/bin/bash
# Author: Matt Mastracci (matthew@mastracci.com)
# AppleScript from http://stackoverflow.com/questions/4309087/cancel-button-on-osascript-in-a-bash-script
# licensed under cc-wiki with attribution required
# Remainder of script public domain
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 --rename --escape --binary --bufsize 4096
????sleep 1
????echo
????echo
????echo \# Sent \-\> $FILE
fi

5. 配置iterm2

????路徑選擇:iTerm2 ->?Profiles > Default > Advanced > Triggers > Edit
????配置內(nèi)容:

? ? # 發(fā)送 sz
? ? Regular expression: rz waiting to receive.\*\*B0100 (注意這里是這樣)
? ? Action: Run Silent Coprocess
? ? Parameters: /usr/local/bin/iterm2-send-zmodem.sh

? ? # 接收 rz
? ? Regular expression:\*\*B00000000000000
? ? Action: Run Silent Coprocess
? ? Parameters: /usr/local/bin/iterm2-recv-zmodem.sh

? ? 配置效果如圖:

配置圖

6. 修改權(quán)限

? ??cd /usr/local/bin/
????chmod -x iterm2-send-zmodem.sh
????chmod -x iterm2-recv-zmodem.sh

7. 軟連接執(zhí)行文件

????$ ln -s /opt/homebrew/bin/lrz /usr/local/bin/rz
? ? $ ln -s /opt/homebrew/bin/lsz /usr/local/bin/sz

8. 成功

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容