iTerm2动态修改编码支持GBK

有些情况下我们的服务器为GBK编码,而我们终端为UTF8,这样就造成了ssh登陆服务器后就乱了,但是我们又不想改编本地终端的编码,我们可以使用下面这个方法。

1.添加iTerm Profile配置

打开 iTerm > Preference > Profiles ,添加一个新都Profile,命名为GBK,在右侧选项卡Terminal中更改编码格式:

设置中文编码

设置中文编码

2.创建可执行脚本

    #!/bin/bash
    # 使用GBK Profile
    echo -e "\033]50;SetProfile=GBK\a"
    # 环境编码切换为GBK
    export LANG=zh_CN.GBK
    export LC_ALL=zh_CN.GBK
    # 更改当前 iTerm2 tab title
    echo -ne "\033]0;"$@"\007"
    $@
    echo -ne "\033]0;"${PWD/#$HOME/~}"\007"
    # GBK任务完成后,自动切换回默认编码(UTF-8)
    echo -e "\033]50;SetProfile=Default\a"
    export LANG=zh_CN.UTF-8
    export LC_ALL=zh_CN.UTF-8

保存为不带格式文件gbkrun

3.添加到系统可执行文件

终端执行获取系统可执行目录:

 #echo $path

将gbkrun添加到可执行目录 /usr/bin:

 #mv /Users/Desktop/gbkrun /usr/bin

在/usr/bin目录下设置gbkrun文件权限为可执行:

 #sudo chmod +x gbkrun

4.使用GBK编码在iTerm登陆远程服务器

 #gbkrun ssh user@host

这时候iTerm会自动切换Profile到GBK编码格式,不需要再手动新开一个tab

  1. 暂无评论

  1. 暂无 Trackback

return top