Windows下的bash环境及path环境变量设置

类别:    标签: bash   阅读次数:   版权: (CC) BY-NC-SA

在Windows系统下, 如果想要使用bash及其附带工具的话, 有很多解决方案, 但我在这里只推荐两种自己觉得比较简单的方案.

  1. CygWin CygWin是Windows下模拟Linux环境的成熟方案, 功能强大, 兼容性好, 但缺点在于文件过多, 安装耗时, 且自带的许多程序版本较老. 如果仅仅是为了使用bash的一些小工具就安装的话, 有点大材小用. 当然, 你也可以将一些常用的程序及其需要的库文件单独提取出来, 做成一个缩微版的bash, 像我以前做的那样.
  2. msys2 Windows下模拟Linux环境的另一经典方案是MinGW系统, 包括MinGW, Msys, GnuWin32等. 这些环境比CygWin小巧, 安装快速, 但更新较慢, 其中的有些程序版本较老. 目前新出现的msys2系统较其他系统更受欢迎, 所以推荐使用.

上面两种环境, 无论哪种安装好以后, 都可以通过执行相应的程序或脚本来启动bash环境. 但每次使用bash工具前都要先启动bash环境然后切换路径, 不是很方便. 为此, 我们可以将bash工具所在的目录添加到Windows的path环境变量, 这样那些bash工具就可以在CMD命令行中直接使用了, 像Windows自带的那些命令一样.

由于很多人不是很理解这种做法, 这里多罗嗦几句. 在Windows的CMD下, 你执行一个程序的时候, 有两种方法, 一种是使用程序的全路径, 一种是将程序的所在的目录添加到path环境变量. 比如, 在Windows下, 我有一个程序prog.exe, 安装在C:\soft\bin目录下, 那么我在CMD中可以使用C:\soft\bin\prog.exe来执行它. 但如果每次执行一个命令都要使用全路径, 十分不方便, 特别是有时安装路径很长, 或者你都不记得程序装在什么地方了. 为了解决这个问题, Windows引入了path环境变量. 它的作用就是, 在CMD中键入一个命令后, 系统会先在path环境变量定义的目录中去寻找相应的程序, 如果找到, 就执行, 找不到的话就报错, 给出'XXX' 不是内部或外部命令,也不是可运行的程序或批处理文件。这样的信息. 这样, 任何一个程序, 只要其所在的目录添加到path环境变量, 就可以像系统命令那样使用它了. 对前面的例子, 只要我们将C:\soft\bin添加到path环境变量, 就可以在CMD中直接使用prog.exeprog来执行了, 而无须使用全路径, 方便了不少. 实际上, CMD自带的一些命令, 如notepad, calc之类之所以可以直接执行, 就是因为它们所在的Windows系统目录处于系统的path环境变量中.

在Windows XP下, 添加path环境变量的方法是, 右键我的电脑->属性->高级->环境变量.

可以看到这里可以定义两类环境变量, 一是用户级别的, 一是系统级别的. 系统变量中已经有个名称为path的环境变量了, 而且它的值也已经很长了, 所以我们一般不再将其他的路径添加到系统变量的path中, 而是在用户变量中新建一个path环境变量, 将其值设为%path%;盘符:\要添加的目录\. 注意 一定要使用英文标点, 不同目录之间以分号;相隔, 且分号后不能有空格. 前面的%path%是对系统path变量的引用, 不引用它的话, 那些处于系统path变量中的程序就无法使用了, 所以我们需要先要引用下系统的path变量, 然后再添加我们需要的目录. 添加完成后一路确定退出界面, 到任意位置新打开一个CMD窗口, 然后执行echo %path%, 如果输出了我们添加的目录, 那说明添加成功了. 否则的话, 你可能需要关闭我的电脑再打开试试, 甚至注销下机器再试试.

对于更新的Windows系统, Windows 7/8/10之类, 我的电脑名称可能有变化, 但无论怎么变, 反正它指的就是那个可以用来查找文件的资源管理器. 后面的步骤也是类似. 下面是英文版Windows 7的图, 凑合着看吧, 因为我没有中文版的Windows 7系统.

最后也顺便说下Linux下的类似设置吧. 在Linux下, 只要编辑用户home下的.bashrc文件, 在里面添加类似下面的内容就可以了.

bash
1
2
3
export PATH=$PATH:\
/添加/目录1:\
/添加/目录2

前一个$PATH也是引用系统的PATH, 作用与Windows下的类似. 编辑完此文件后, source ~/.bashrc或退出重新登录下机器这些设置就可以起作用了.

评论

随意赞赏

微信

支付宝
◆本文地址: , 转载请注明◆
◆评论问题: https://jerkwin.herokuapp.com/category/3/博客, 欢迎留言◆


前一篇: 太阳能电池效率的计算
后一篇: Martini粗粒化力场使用手册:2 常见问题

访问人次(2015年7月 9日起): | 最后更新: 2017-12-09 02:20:13 UTC | 版权所有 © 2008 - 2017 Jerkwin