系统相关
首页 > 系统相关> > Mac下CoreShell使用lrzsz命令

Mac下CoreShell使用lrzsz命令

作者:互联网

# Bash support for Core Shell, reference: /etc/bashrc_Apple_Terminal on macOS

# Report Working Directory
#
# Tell the Core Shell about the current working directory at each prompt.

if [ -z "$INSIDE_EMACS" ]; then
    update_coreshell_cwd() {
        # Identify the directory using a "file:" scheme URL, including
        # the host name to disambiguate local vs. remote paths.

        # Percent-encode the pathname.
        local url_path=''
        {
            # Use LC_CTYPE=C to process text byte-by-byte. Ensure that
            # LC_ALL isn't set, so it doesn't interfere.
            local i ch hexch LC_CTYPE=C LC_ALL=
            for ((i = 0; i < ${#PWD}; ++i)); do
                ch="${PWD:i:1}"

                if [[ "$ch" =~ [/._~A-Za-z0-9-] ]]; then
                    url_path+="$ch"
                else
                    printf -v hexch "%02X" "'$ch"
                    # printf treats values greater than 127 as
                    # negative and pads with "FF", so truncate.
                    url_path+="%${hexch: -2:2}"
                fi
            done
        }

        if [ -n "$TMUX" ]; then
            printf '\ePtmux;\e\e]7;%s\a\e\\' "file://$HOSTNAME$url_path"
        else
            printf '\e]7;%s\a' "file://$HOSTNAME$url_path"
        fi
    }

    PROMPT_COMMAND="update_coreshell_cwd${PROMPT_COMMAND:+; $PROMPT_COMMAND}"
fi
~/.bashrc_Core_Shell && grep -qs ".bashrc_Core_Shell" ~/.bash_profile || echo $'\n[[ -n "$SSH_TTY" || -n "$SSH_CONNECTION" ]] && [ -r "$HOME/.bashrc_Core_Shell" ] && . "$HOME/.bashrc_Core_Shell"' >> ~/.bash_profile

标签:Core,Shell,url,lrzsz,bashrc,Mac,ch,CoreShell,path
来源: https://www.cnblogs.com/xujunkai/p/14673292.html