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
暂无评论