xunit.net 之环境变量

1 。什么是环境变量?

         环境变量是一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

2。哪里查看环境变量?

步骤:(win7)计算机-》右击-》属性-》高级系统设置-》环境变量 (下方第二副图)

          (windows xp)我的电脑-》右击-》属性-》点击选项卡高级选项-》最下面下方的环境变量(下方第一副图)

imageimage

Note:对系统来说有2种类型的配置,一种是用户级别(当前用户生效),第二种系统级别(适用于所有用户)。

这里主要说下Path这个环境变量,如上定义的那边,用于定义一些程序的路径,以便程序方便使用。

这里有个最经典的案例,我们的DOS环境,可以点击开始按钮,在运行中输入cmd即可打开。

image

我们可以使用一些系统预定义的命令,如dir, cd等。

image

我们得停下来,好好思考,为什么dir就有反映了呢?

有这么几种可能:

  1. 直接由cmd这个程序支持,系统支持
  2. 调用DLL,外部程序

至于到底哪个?最少我不Care,^_^,这种问题知道和不知道也没啥变化。喜欢的可以自己去找答案,不过有点要记住,IT的东西没有极限,有选择,选择是你的自由和权利

OK,第二个问题随之产生,玩过java的同学,经常被一上来的几个配置搞晕,什么Path,ClassPath,啥Java_Home,他们到底干嘛的?

这些问题就是:如何自定义其他的命令,比如我希望这样

image

但是系统告诉我,这个不行,fengxing 123彻底不认识。

分析下 :fengxing 123肯定不是cmd支持的命令。所以它由其他的程序提供支持。假设我有个程序放在E:\123下,

我也不认系统能认识,为什么?fengxing这个程序没有提供文件具体指向地址。

这里还没有fengxing这个程序,先建立个并测试下。打开Visual Studio,建立一个控制台程序,并命名为fengxing。

什么是控制台程序可以看这里:控制台程序介绍

image

大家非常熟悉的代码:

image

Main:程序的入口函数。args :输入参数数组。

如果你希望获取一些输入参数,使用args这个参数。

一些经典的命令:

dir /w

Install-Package EntityFramework -Version 4.3.1 这个命令来源于Nuget

这里涉及一些参数的输入小技巧 用/分割 用空格 用-分割的都有。具体使用按需使用。

OK,现在先写个程序。如果有参数则输出参数,并附带一句程序被调用的提示。

image

非常简单的代码,编译下,并把项目Bin下面的程序复制到E:\123下,

至于为什么要复制(方便后续操作,少打点字^_^)。

Note:尽量别使用带中文的文件夹和文件。 不解释~

image

image

好了,我们试试在cmd中使用下。

image

这次明显灵了~!!! Good Luck!

但是E:\123好讨厌哦,我记不住。。。。 其实也没人能记住。。

这个环境变量就发威了!!!

在次看下定义:

环境变量是一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

好了,我们设置下Path。以win7为例,其他的差不多。不过我这里使用的是用户变量。(它是环境变量的一种:参见本文最上面)

image

点击确定。在试试!!!

image

神马啊,为什么还是不行???、

蛋定,好好考虑下,CMD怎么利用环境变量的?

1 打开CMD

2 CMD读取环境变量,其实准确的应该叫初始化,有且仅有一次。

3 别指望CMD在次读取。应该它压根就不知道你改变了一些参数,为什么系统打了补丁要重启,有些改变一时半会肯定难以生效,所以重启吧,要是每个需求都要满足,做程序的伤不起了- - ,甚至难以满足。

果断的关闭CMD.

再次启动

image

Very Good。 这个东西就到这吧,希望大家喜欢,不难,但是背后的东西值得思考。

至于这个文章为什么要叫xunit.net之环境变量。因为他有个工具提及了这个事情。

后续的工作,还是要靠自己,授人以鱼不如授人以渔。

 代码,给那些刚入门的程序员~~~

原文地址:https://www.cnblogs.com/fengxing/p/2433762.html