老树使用的是Mac OSX系统,平时终端都是使用iTerm2替代默认的Terminal进行使用。
考虑到各种兼容性,个人一直使用的是UTF-8编码,但由于老树管理着大量服务器,并且可能使用的是GBK或者其它编码,经常由于终端环境编码的不同,导致登录服务器出现乱码,或者需要处理GBK文件时,要使用iconv进行多次编码转换,相当麻烦。
好在iTerm2使用了比较友好的Profile配置及切换方式,首先我的默认配置(Default Profile)使用了UTF-8编码:
我另外建立了一个Profile,叫GBK:
并编写了一个非常简单的切换脚本:
#!/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
将以上内容保存为一个叫grun的文件,并赋予可执行权限,同时加到系统可执行目录(PATH)
当我需要登录一台GBK编码的服务器时,只需要
grun ssh ${hostname}
即可
您可能还喜欢以下文章
- Mac OSX Yosemite 10.10 WIFI 掉线修复
- 在 Mac 中对 iPhone 手机网络进行抓包的方法
- 美区 Apple ID 充值攻略
- 可能是全网最全的 ulimit 配置说明了
- MongoDB 4.2 流控 FlowControl 机制走读
相关评论
comments powered by Disqus