# 终端Iterm

# 传输文件

  1. 创建发送脚本-iterm2-send-zmodem.sh

    ### 
    # @Author: your name
     # @Date: 2019-12-11 01:03:06
     # @LastEditTime: 2019-12-11 01:03:21
     # @LastEditors: your name
     # @Description: In User Settings Edit
     # @FilePath: /rzsz/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
    
    #COMMAND=$(which sz)
    
    if [[ -f /opt/homebrew/bin/sz ]]; then
    	COMMAND=/opt/homebrew/bin/sz
    else
    	COMMAND=/usr/local/bin/sz
    fi
    
    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
        $COMMAND "$FILE" --escape --binary --bufsize 4096
        sleep 1
        echo
        echo \# Received "$FILE"
    fi
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
  2. 创建接收脚本-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
    
    #COMMAND=$(which rz)
    
    if [[ -f /opt/homebrew/bin/rz ]]; then
    	COMMAND=/opt/homebrew/bin/rz
    else
    	COMMAND=/usr/local/bin/rz
    fi
    
    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"
        $COMMAND --rename --escape --binary --bufsize 4096
        sleep 1
        echo
        echo
        echo \# Sent \-\> $FILE
    fi
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
  3. 配置

    温馨提示

    快捷键:command+o

    点击Edit按钮,添加配置

    表达式 事件 参数
    rz waiting to receive.**B0100 /usr/local/bin/iterm2-send-zmodem.sh
    **B00000000000000 /usr/local/bin/iterm2-recv-zmodem.sh
    password 服务名称

# 密码管理器

温馨提示

快捷键:option+command+f