cygwin执行windows命令乱码

技术文档网 2021-04-20

为了避免乱码, 一般文件的编码都设为utf8. 因此cygwin终端的编码也设为了utf8. 但是windows命令输出的结果却偏偏是gbk编码. 这样cygwin在执行像ping, ipconfig等windows自带的命令时输出自然就乱码了.

翻阅了网上的一些教程无外乎是更改cygwin终端的编码格式, 这样显然不可取. 一定有什么办法可以进行编码转换, 果然在网上找到了iconv命令.

试了一下:

$ ping 192.168.201.1 | iconv -f "gbk" -t "utf8"
正在 Ping 192.168.201.1 具有 32 字节的数据:
来自 192.168.201.1 的回复: 字节=32 时间<1ms TTL=128
来自 192.168.201.1 的回复: 字节=32 时间<1ms TTL=128
来自 192.168.201.1 的回复: 字节=32 时间<1ms TTL=128

确实解决了, 但是, 每次都这么敲岂不很麻烦, 于是想到了用别名alias.

function g2u()
{
    cmd="$*"
    $cmd | iconv -f "gbk" -t "utf8"
}

alias ping='g2u ping'
alias ipconfig='g2u ipconfig'

嗯, 顺便也学了下shell函数怎么用. ^_^!

有点遗憾的是, 不能一次解决所有的命令.

相关文章

  1. 硅谷互联网公司的开发流程

    开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro

  2. RESTful-表述性状态转移风格

    REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表-&gt;就是产品资源 最重要的是如何表示一个资源 地址即

  3. 稳定性思考

    产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能

  4. Supervisor守护队列发邮件

    安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et

  5. 安装libsodium,让服务器支持chacha20等加密方式

    用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod

随机推荐

  1. 硅谷互联网公司的开发流程

    开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro

  2. RESTful-表述性状态转移风格

    REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表-&gt;就是产品资源 最重要的是如何表示一个资源 地址即

  3. 稳定性思考

    产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能

  4. Supervisor守护队列发邮件

    安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et

  5. 安装libsodium,让服务器支持chacha20等加密方式

    用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod