本文的核心思想是使用别人已经编译好的linux命令的windows版本可执行文件
本文的重点是一些小bug的处理办法
下载Git并安装
这一步是为了获取Git中附带的linux命令的windows版本
- 如果你已经安装了Git或者visual studio,可以在git安装目录的usr/bin文件夹下找到这些文件。visual studio2017附带的git目录在
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git
,其他版本类似。或者你可以直接全盘搜索ls.exe找到位置 - 如果你没有安装但是也不想安装,可以从这里找到一些linux常见命令的windows版本
添加到环境变量
将ls.exe所在的路径添加到环境PATH中。如果你不会,请百度一下,教程很多。
一些小bug的处理办法
- ls的输出不是彩色
使用--color=auto
选项 - ls无法正确显示中文
设置环境变量LANG=zh_CN
,在命令行中输入set LANG=zh_CN
即可。参考资料
为了方便使用,写了一个小小的c程序,自动添加--color=auto
以及临时环境变量LANG=zh_CN
#include <iostream>
int main(int argc, char *argv[])
{
const char *program = R"("C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\usr\bin\ls.exe" --color=auto)";
const char *env = R"(LANG=zh_CN)";
_putenv(env);
if (argc == 1)
{
system(program);
return 0;
}
std::string command = program;
for (int i = 1; i < argc; i++)
{
command += " ";
command += argv[i];
}
int result = system(command.c_str());
return result;
}