精华内容
下载资源
问答
  • Windows 10 环境变量 (用户变量与系统变量)

    万次阅读 多人点赞 2020-05-03 17:08:00
    Windows 10 环境变量 (用户变量与系统变量) 1. 环境变量 (environment variables) 环境变量 (environment variables) 是在操作系统中用来指定操作系统运行环境的一些参数。环境变量是在操作系统中一个具有特定名字的...

    Windows 10 环境变量 (用户变量与系统变量)

    1. 环境变量 (environment variables)

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

    Environment variables:环境变量
    User variables:用户变量
    System variables:系统变量
    

    环境变量可分为用户变量与系统变量两类,在注册表中都有对应的项。

    1.1 用户变量

    • 用户变量所在位置:HKEY_CURRENT_USER\Environment

    在这里插入图片描述

    1.2 系统变量

    • 系统变量所在位置:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment

    在这里插入图片描述

    在原有变量的基础上添加英文状态下的分号,然后添加路径名。不要删除原先的系统变量,只要用分号隔开,然后添加路径名,最后也要加上分号。

    1.3 echo %path%

    Microsoft Windows [版本 10.0.17763.1158]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:\Users\cheng>echo %path%
    C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Users\cheng\AppData\Local\Microsoft\WindowsApps;
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PATH%
    C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Users\cheng\AppData\Local\Microsoft\WindowsApps;
    
    C:\Users\cheng>
    

    环境变量可以理解为系统的视线范围,配置进入了环境变量的可执行程序,就等于是进入了系统的视线范围。

    • 系统变量针对所有用户起作用,为了安全一般配置用户环境变量。
    • 用户变量只对当前用户起作用,不建议为了省事而配置系统环境变量。
    1. 环境变量不区分大小写,path / PATH / Path 表示指定可执行文件的搜索路径。
    2. echo %path% 用户变量会跟在系统变量的后面。
    3. 用户环境变量优先级高于系统环境变量。对于环境变量,系统会先检查用户变量,之后再检查系统变量。
    4. 添加路径以后,要保存,再重启 cmd,确保生效。
    5. Windows 系统在执行用户命令时,若用户未给出文件的绝对路径,则首先在当前目录下寻找相应的可执行文件。然后在用户变量的 path / PATH / Path 路径中查找,如果找不到,再到系统变量的 PATH 路径中查找。如果系统变量和用户变量的 path / PATH / Path 中同时包含相同的路径,则优先使用用户变量 path / PATH / Path 中的路径。

    2. Setting the path and variables in Windows 10

    1. From the desktop, right-click the Computer icon and select Properties. If you don’t have a Computer icon on your desktop, click Start, right-click the Computer option in the Start menu, and select Properties.
    2. Click the Advanced System Settings link in the left column.
    3. In the System Properties window, click on the Advanced tab, then click the Environment Variables button near the bottom of that tab.
    4. In the Environment Variables window, highlight the Path variable in the System variables section and click the Edit button. Add or modify the path lines with the paths you want the computer to access. Each different directory is separated with a semicolon, as shown below.

    You can edit other environment variables by highlighting the variable in the System variables section and clicking Edit. If you need to create a new environment variable, click New and enter the variable name and variable value.

    此电脑 -> 高级系统设置
    在这里插入图片描述

    环境变量
    在这里插入图片描述

    3. List of environment variables in Windows 10

    Microsoft Windows [版本 10.0.17763.1158]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:\Users\cheng>echo %COMMONPROGRAMFILES%
    C:\Program Files\Common Files
    
    C:\Users\cheng>
    C:\Users\cheng>echo %COMMONPROGRAMFILES(x86)%
    C:\Program Files (x86)\Common Files
    
    C:\Users\cheng>
    C:\Users\cheng>echo %COMSPEC%
    C:\Windows\system32\cmd.exe
    
    C:\Users\cheng>
    C:\Users\cheng>echo %HOMEDRIVE%
    C:
    
    C:\Users\cheng>
    C:\Users\cheng>echo %HOMEPATH%
    \Users\cheng
    
    C:\Users\cheng>
    C:\Users\cheng>echo %SYSTEMROOT%
    C:\Windows
    
    C:\Users\cheng>echo %WINDIR%
    C:\Windows
    
    C:\Users\cheng>
    C:\Users\cheng>echo %TMP%
    C:\Users\cheng\AppData\Local\Temp
    
    C:\Users\cheng>
    C:\Users\cheng>echo %TEMP%
    C:\Users\cheng\AppData\Local\Temp
    
    C:\Users\cheng>
    

    %COMMONPROGRAMFILES% - C:\Program Files\Common Files
    %COMMONPROGRAMFILES(x86)% - C:\Program Files (x86)\Common Files
    %COMSPEC% - C:\Windows\System32\cmd.exe
    %HOMEDRIVE% - C:
    %HOMEPATH% - C:\Users\<username>
    %SYSTEMROOT% - C:\Windows
    %WINDIR% - C:\Windows
    %TMP% - C:\Users\<username>\AppData\Local\Temp
    %TEMP% - C:\Users\<username>\AppData\Local\Temp

    Microsoft Windows [版本 10.0.17763.1158]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:\Users\cheng>echo %APPDATA%
    C:\Users\cheng\AppData\Roaming
    
    C:\Users\cheng>
    C:\Users\cheng>echo %ALLUSERSPROFILE%
    C:\ProgramData
    
    C:\Users\cheng>
    C:\Users\cheng>echo %CD%
    C:\Users\cheng
    
    C:\Users\cheng>
    C:\Users\cheng>echo %CMDEXTVERSION%
    2
    
    C:\Users\cheng>
    C:\Users\cheng>echo %DATE%
    2020/05/04 周一
    
    C:\Users\cheng>
    C:\Users\cheng>echo %ERRORLEVEL%
    0
    
    C:\Users\cheng>
    C:\Users\cheng>echo %LOCALAPPDATA%
    C:\Users\cheng\AppData\Local
    
    C:\Users\cheng>
    C:\Users\cheng>echo %LOGONSERVER%
    \\YONGQIANG
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PATH%
    C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Users\cheng\AppData\Local\Microsoft\WindowsApps;C:\Program Files\NVIDIA Corporation\NVSMI;
    
    C:\Users\cheng>
    

    %APPDATA% - C:\Users\<username>\AppData\Roaming
    %ALLUSERSPROFILE% - C:\ProgramData
    %CD% - Typing in this command will give you the current directory you are working in.
    %CMDEXTVERSION% - This variable expands to the version of the command-line extensions.
    %DATE% - This variable will give you the current date according to date format preferences.
    %ERRORLEVEL% - Determines the error level set by last executing command.
    %LOCALAPPDATA% - C:\Users\<username>\AppData\Local
    %LOGONSERVER% - \\<domain_logon_server>
    %PATH% - C:\Windows\system32;C:\Windows;

    Microsoft Windows [版本 10.0.17763.1158]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:\Users\cheng>echo %PATHEXT%
    .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROGRAMDATA%
    C:\ProgramData
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROGRAMFILES%
    C:\Program Files
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROGRAMW6432%
    C:\Program Files
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROGRAMFILES(X86)%
    C:\Program Files (x86)
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROMPT%
    $P$G
    
    C:\Users\cheng>
    C:\Users\cheng>echo %SYSTEMDRIVE%
    C:
    
    C:\Users\cheng>
    C:\Users\cheng>echo %TIME%
    12:34:57.39
    
    C:\Users\cheng>
    C:\Users\cheng>echo %USERNAME%
    cheng
    
    C:\Users\cheng>
    

    %PATHEXT% - .com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc
    %PROGRAMDATA% - C:\ProgramData
    %PROGRAMFILES% - C:\Program Files
    %PROGRAMW6432% - C:\Program Files
    %PROGRAMFILES(X86)% - C:\Program Files (x86)
    %PROMPT% - $P$G
    %SYSTEMDRIVE% - C:
    %TIME% - Similarly, it gives you current time according to the time format preferences.
    %USERNAME% - <username>

    Microsoft Windows [版本 10.0.17763.1158]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:\Users\cheng>echo %USERPROFILE%
    C:\Users\cheng
    
    C:\Users\cheng>
    C:\Users\cheng>echo %USERDOMAIN%
    YONGQIANG
    
    C:\Users\cheng>
    C:\Users\cheng>echo %USERDOMAIN_ROAMINGPROFILE%
    YONGQIANG
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PUBLIC%
    C:\Users\Public
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PSMODULEPATH%
    C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
    
    C:\Users\cheng>
    C:\Users\cheng>echo %ONEDRIVE%
    C:\Users\cheng\OneDrive
    
    C:\Users\cheng>
    C:\Users\cheng>echo %CMDCMDLINE%
    "C:\Windows\system32\cmd.exe"
    
    C:\Users\cheng>
    C:\Users\cheng>echo %COMPUTERNAME%
    YONGQIANG
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROCESSOR_REVISION%
    9e0a
    
    C:\Users\cheng>
    

    %USERPROFILE% - C:\Users\<username>
    %USERDOMAIN% - Userdomain associated with current user.
    %USERDOMAIN_ROAMINGPROFILE% - Userdomain associated with roaming profile.
    %PUBLIC% - C:\Users\Public
    %PSMODULEPATH% - %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\
    %ONEDRIVE% - C:\Users\<username>\OneDrive
    %CMDCMDLINE% - Outputs command line used to launch the current Command Prompt session.
    %COMPUTERNAME% -Outputs the system name.
    %PROCESSOR_REVISION% - Outputs processor revision.

    Microsoft Windows [版本 10.0.17763.1158]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:\Users\cheng>echo %PROCESSOR_IDENTIFIER%
    Intel64 Family 6 Model 158 Stepping 10, GenuineIntel
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROCESSOR_LEVEL%
    6
    
    C:\Users\cheng>
    C:\Users\cheng>echo %RANDOM%
    25197
    
    C:\Users\cheng>
    C:\Users\cheng>echo %NUMBER_OF_PROCESSORS%
    12
    
    C:\Users\cheng>
    C:\Users\cheng>echo %OS%
    Windows_NT
    
    C:\Users\cheng>
    

    %PROCESSOR_IDENTIFIER% - Outputs processor identifier.
    %PROCESSOR_LEVEL% - Outputs processor level.
    %RANDOM% - This variable prints a random number from 0 through 32767
    %NUMBER_OF_PROCESSORS% - Outputs the number of physical and virtual cores.
    %OS% - Windows_NT

    References

    展开全文
  • Value Objects 信号(on signal) 环境变量(on envVar) 系统变量(on sysVar ) 在 CAPL General Event Procedures (一) 中讲解了Ssytem下的几种事件,下面会讲解下 Value Objects下的几种事件: 信号(on signal...


    在 CAPL General Event Procedures (一) 中讲解了Ssytem下的几种事件,下面会讲解下 Value Objects下的几种事件:

    在这里插入图片描述

    信号(on signal)

    • on signal signalname 每次信号值有变化的时候,会触发这个事件
    • on signal_update signalname 只要总线上有这个周期信号就会一直触发
    /*@!Encoding:ASCII*/
    
    On key 'a'
    {
      setSignal(DeactiveTJPReq,1);
    }
    
    on signal DeactiveTJPReq
    {
      write("Value changed will be trigger, value: %f",this.raw);
      
    }
    
    on signal_update DeactiveTJPReq
    {
       write("Continuous trigger, value: %f",this.raw);
    }
    

    这里有一个信号 DeactiveTJPReq,周期5ms发送,初始值为0,因为一直触发事件:on signal_update DeactiveTJPReq,所以开始不断打印 0,后来按下按键 a, 因为 信号的值改变了,所以触发事件 on signal DeactiveTJPReq,后面即使再按按键 a,也不再会触发on signal DeactiveTJPReq,因为信号值没有变化
    在这里插入图片描述

    关于关键字:this
    Within an event procedure for receiving a CAN object or an environment variable, the data structure of the object is designated by the key word this.
    在接收CAN对象或环境变量的事件过程中,对象的数据结构由关键字this指定

    • on signal ( signalname1 | signalname2 | …)
      通过上面语法可以同时对多个信号进行监控
    /*@!Encoding:ASCII*/
    On key 'a'
    {
      write("Now pressed key a:");
      setSignal(DeactiveTJPReq_UB, 0);
      
    }
    On key 'b'
    {
      write("Now pressed key b:");
      setSignal(DeactiveTJPReq, 1);
    }
    
    
    on signal ( DeactiveTJPReq_UB |DeactiveTJPReq)
    {
    
      write("*********DeactiveTJPReq_UB**********: %f",getSignal(DeactiveTJPReq_UB));
      write("*********DeactiveTJPReq*************: %f",getSignal(DeactiveTJPReq));  
    }
    

    输出结果:
    在这里插入图片描述

    环境变量(on envVar)

    on envVar X 响应环境变量事件
    有两个多环境变量操作的API

    • getValue() 读取变量值 在这里插入图片描述
    • putValue() 设置变量值 在这里插入图片描述

    首先,我们新建一个新的dbc文件,命名为test.dbc,然后创建三个环境变量,在canoe工程中加入这个dbc文件。

    在这里插入图片描述

    在Value Objects中创建on enVar 事件
    在这里插入图片描述

    /*@!Encoding:ASCII*/
    On key 'a'
    {
      putValue(test_int,2);
      putValue(test_float,2.5);
      putValue(test_string,"good man");
      
    }
    
    on envVar  test_int
    {
      write("test_int:%d",getValue(this));
      
    }
    
    on envVar  test_float
    {
      write("test_float:%f",getValue(this));
      
    }
    on envVar  test_string
    {
      char string[20];
      getValue(this,string);
      write("test_string:%s",string);
      
    }
    

    输出结果:这里是引用

    "on envVar (envVar1 | envVar2 | …)", 可以同时指定多个环境变量,但是只有这些环境变量的数据类型一样的时候,才可以使用“this”.

    /*@!Encoding:ASCII*/
    On key 'a'
    {
      putValue(test_int,2); 
    }
    On key 'b'
    {
      putValue(test_float,2.5);  
    }
    On key 'c'
    {
      putValue(test_string,"good man");
      
    }
    
    on envVar  (test_int | test_float |test_string)
    {
      char string[20];
      write("test_int:%d",getValue(test_int));
      write("test_float:%f",getValue(test_float));
    
      getValue(test_string,string);
      write("test_string:%s",string);
      
    }
    

    依次按下a,b,c按键之后的输出结果:在这里插入图片描述

    系统变量(on sysVar )

    • 系统定义的系统变量
      在你的canoe工程中,调动了不同的dll或者加载了不同的模块,不同的总线结构中,canoe工程会自动适配出 系统的系统变量,如下图,只有statistics和canoe两个命名空间这是因为我这建立的是一个空项目,并没有加入其它模块。
      在这里插入图片描述
    • 用户定义的系统变量
      这里新建了一个test_namespace 命名空间,并创建了三个系统变量
      人;这里还可以通过 export 将你定义的系统变量导出到一个 .vsysvar 文件中,这样定义的系统变量就可以在其它工程中复用了。
      在这里插入图片描述
    • 语法: on sysVar X
    • 读取或者设置系统变量的值,用 ‘@’ 或者 sysGetVariable。
    • 系统变量要通过 域操作符"::" 在前面加上他的域空间才行
    /*@!Encoding:ASCII*/
    On key 'a'
    {
    	//设置值
      @test_namespace::sys_test_int =2;
      @test_namespace::sys_test_float =3.5;
      sysSetVariableString(sysVar::test_namespace::sys_test_string,"good man a"); 
    }
    on sysvar  test_namespace::sys_test_int
    {
      write("sys_test_int:%d",@test_namespace::sys_test_int); 
    }
    
    on sysvar  test_namespace::sys_test_float
    {
      write("sys_test_float:%f",@test_namespace::sys_test_float);
    }
    on sysvar  test_namespace::sys_test_string
    {
      char string[20]; sysGetVariableString(sysVar::test_namespace::sys_test_string,string,elCount(string));
      write("sys_test_string:%s",string);
      
    }
    

    按下键盘 a,输出结果:这里是引用

    系统变量中 this 用法

    On key 'a'
    {
      @test_namespace::sys_test_int =random(100);
    }
    on sysvar  test_namespace::sys_test_int
    {
      write("sys_test_int:%d",@this); 
      write("sys_test_int:%s",this.name); 
      write("sys_test_int:%s",this.`namespace);
      write("sys_test_int:%ld",this.time_ns); 
    }
    

    输出:这里是引用

    • on sysvar 和 on sysvar_update的区别
      on sysvar :值变化才会触发
      on sysvar_update :只要对系统变量操作了,值不变化也会触发
    On key 'a'
    {
      @test_namespace::sys_test_int = 2;
    }
    
    on sysvar  test_namespace::sys_test_int
    {
      write("sysvar ---->>sys_test_int:%d",@this); 
    }
    on sysvar_update test_namespace::sys_test_int
    {
      write("sysvar_update---->>sys_test_int:%d",@test_namespace::sys_test_int); 
    }
    

    sys_test_int默认值是1,连续按了5次 键盘 a 键:
    在这里插入图片描述

    展开全文
  • 什么是环境变量、系统变量、用户变量

    万次阅读 多人点赞 2019-03-03 15:53:42
    本文主要介绍环境变量 系统变量和用户变量的宏观关系,有些列子只是用来给计算机基础比较薄弱的it人提供一些直观思路,所以有些措辞确实不太合适.但是写得太官方,又怕读者不懂,所以,更多是帮助一些it入门者

    目录

     

    说明:

    一、环境变量关系

    二、为什么输入几个符号就能显示相应的提示?

    三、命令行中的程序来自哪里?

    我第一次接触命令行

    程序来自于哪里?

    执行程序跟环境变量有什么关系?

    四、为什么需要环境变量?

    如果有存在不正确或有什么不懂的地方,请不要害羞,也不要吝啬你的问题,踊跃提出来吧


    说明:

    • 本博客在当初理解到了环境变量的作用之后,脑子一热就写了一片博客,所以有的地方仍然不够详细。所以我在2019.12.10更新了本博客的内容

    IT人常常会使用dos、终端、控制台等等,多多少少会遇到命令行界面。也就是这样的:

    Windows dos
    Windows dos
    Ubuntu18终端界面
    Ubuntu18终端界面
    Linux命令行
    Linux命令行
    远程终端
    远程终端

     

    一、环境变量关系

    首先,我来说一下他们之间的关系:环境变量只是一个总称,代表了系统变量和用户变量,因此我们说环境变量都是指的系统变量和用户变量。系统变量就是系统级别的变量,用户需要使用系统变量。如果系统变量被修改了,而任何系统用户都在用系统变量,因此每个系统用户都将受到影响。用户变量运行在系统变量之上的,每个用户拥有不同的用户变量,不同用户的用户变量之间是并列的,也是互不干扰的。他们之间的关系图如下如所示

    变量关系
    变量关系

    二、为什么输入几个符号就能显示相应的提示?

    不知道有没有人有疑问,为什么我在命令行里面输入几个字符,按下回车,屏幕就会显示相应的提示。

    你在命令行里输入的那几个符号,其实就是一些可执行程序的名字(标签、别名),是可以直接被当前系统直接执行的程序。如果是在Windows系统中,则这些被输入的符号就是可以直接被windows系统执行、后缀为'.exe'的程序(文件)。

    再比如如在Linux中,输入的字符则是被叫做可执行的文件,这里可执行文件意义等同于Windows中的后缀为'.exe'的文件(程序),这里值得说明的是:Linux中是不存在通过后缀名来识别文件类型的,即使存在也仅仅只是为了帮助记忆,或者便于人们识别而已。

    众所周知,程序是给机器阅读的,所以,这些可执行的程序或文件大多是机器码,不是人类可识别的字符。Linux中的可执行文件(程序)不可以在Windows中去运行,因为Linux系统不是Windows系统(每个系统执行程序或运行代码的方式是不同的)。

    三、命令行中的程序来自哪里?

    我第一次接触命令行

    本文作者最开始遇到这个问题的时候在初学Java程序的时候。学习Java程序需要配置环境变量,如果环境变量配置不成功,在命令行中去输入'java'就会提示'找不到xxxx'的一类的关键词。通过第二节大概知道为什么了,你输入的这个java字符就是代表可执行程序

    程序来自于哪里?

    其实这个叫'java'的应用程序就在你的安装目录下面的bin目录中。所有软件(包括Java在内的所有软件)安装目录下bin目录中,均代表里面放的是可执行的机器码(程序文件),也就是给机器阅读(执行)的文件(程序)。

    执行程序跟环境变量有什么关系?

    咋们来看看windows中的环境变量截图

    变量关系截图
    变量关系截图

    命令行之所以能执行这个程序,是因为环境变量。

    在上面的截图中可以看得出,变量都只是一个名字,真正起到作用的是变量的值,可以看到变量值中大部分都是目录路径,少部分可以看到'.exe'结尾的程序,目录是用来干嘛的?就是用来给命令行搜索程序文件的,你在环境变量值中填写的目录路径,会被命令行遍历目录中的内容,而你知道的目录下都是些可执行程序。那么这个时候命令行输入的命令都会在这些变量值中的目录去找程序,如果找到了跟在命令行中输入的名字(字符)一模一样的程序名,那么命令行就会执行这个程序,以达到执行命令行程序的功能

    因此,所有在命令行中去执行的程序,其位置位置均储存在环境变量目录值中,我们在执行命令行中程序的时候,其实就是在查找环境变量所有程序位置中有没有(是否找得到)这个程序,如果没有就会提示'未找到'等关键词,如果在环境变量中找到了你在命令行中输入的程序名字,那么通过环境变量就可以直接去执行程序。

    四、为什么需要环境变量?

    在电子计算机出现之初,命令行就出现了。最开始的时候,人们(少数)都是使用的命令行,后来图形化的电子计算机的出现,命令行的计算机才从普通消费者印象中渐渐消失殆尽,所以命令行是计算机最开始的就有的了。那为什么现在命令行还没有消失?因为它有不可替代的优势:高效、快捷。

    图形界面只是方便非IT专业的人们准备的,图形界面看起来友好,不需要太好的逻辑就能操作系统,这也就是为什么后来Windows快速占领市场,而同样非常优秀的Linux却只能听起来像神话一样的存在。

     

    如果有存在不正确或有什么不懂的地方,请不要害羞,也不要吝啬你的问题,踊跃提出来吧

     

     

     

     

    展开全文
  • 文章目录系统变量创建使用注意事项环境变量创建使用注意事项 系统变量 创建 创建路径。 创建系统变量需要注意的参数。 2.1 Namespace:定义了系统变量组的名称。如果需要在大的系统变量组里新建次级的系统变量组,...

    姊妹篇: CANoe操作介绍系列 ———— 创建数据库(.dbc)

    系统变量

    创建

    1. 创建路径。
      在这里插入图片描述
    2. 创建系统变量需要注意的参数。
      2.1 Namespace:定义了系统变量组的名称。如果需要在大的系统变量组里新建次级的系统变量组,则需要使用到Name1::Name2格式。具体情况如下。
      在这里插入图片描述

    2.2 Name:系统变量的具体名称。后续的使用会直接引用该名称。
    2.3 Data type:选择需要的类型。下拉菜单中支持的所有类型均在截图中可以看到。
    在这里插入图片描述
    2.4 Location:该系统变量组存放的路径、名称和格式。我所在的项目中使用到了XML/vsysvar两种格式。在进行系统变量的移植过程中,需要注意这些信息。
    2.5 Values:初始值、最小值、最大值、单位、值表。因为跟环境变量不一样,如果系统变量的取值较多,在这里需要value table中进行枚举。

    在这里插入图片描述

    使用

    在系统变量被定义好了之后,相当于我们定义了一个全局变量。具体如何来使用,我们可以通过CAPL内自带的函数来完成使用。

    方法1:on sysvar
    对CANoe中系统变量的值更改做出反应。Measurement Setup中的CAPL节点不会阻止系统变量。 因此,当有两个CAPL节点串联时,两个节点都将通过sysVar上的事件过程对同一系统变量做出反应。
    例子:

    on sysvar IO::DI_0
    {
    $Gateway::IOValue = @this;
    }
    

    方法2:SysGetVariableInt/SysGetVariableFloat/SysSetVariableInt/SysSetVariableFloat
    对系统变量的值进行获取或设置。也可以通过特殊字符 @ / $ 来对变量进行复制和取值。
    例子:

    intValue = @Namespace1::Parameter2;
    @Debug::MotorValues::EngineSpeed = $EngineSpeed;
    
    on key 'b'
    {
      double value;
      value = SysGetVariableFloat(sysvar::MyNamespace::FloatVar);
      write("Value of FloatVar is %g", value);
    }
    
    

    其他关于系统变量的使用,请在help文档中搜索System Variables CAPL Functions,就可以获取到最全面的解析与介绍。

    注意事项

    1. 系统变量的初始值需要定义明确。如果在使用过程中没有定义初始值,如果涉及到系统变量的reset,那么将无法完成reset功能。
    2. 引用的时候,系统变量的使用过程中注意格式正确。脚本中的使用情况如下。
      在这里插入图片描述
    3. 如果需要自定义系统变量的真值表,选择custom来完成真值表的创建。
      在这里插入图片描述
    4. 在同样的情况下,推荐使用系统变量

    环境变量

    创建

    1. 打开一个已经存在的DBC文件,选择新建一个DBC。 在这里插入图片描述
    2. 选择合适的模板。保存好路径和名称。
      在这里插入图片描述
    3. 此时开始在Environment Variables目录下开始新建环境变量。
      在这里插入图片描述
    4. 参数的设置。
      4.1 Name:环境变量的名称
      4.2 Value Type:数据类型。相比于系统变量,环境变量所支持的数据类型要少一些。
      在这里插入图片描述
      4.3 Value Table:真值表。请参考姊妹篇中的相关介绍完成真值表的建立。
      4.4 初始值、最小值、最大值:依据需求完成设定

    在这里插入图片描述

    使用

    在环境变量被定义好了之后,相当于我们定义了一个局部变量。具体如何来使用,我们可以通过CAPL内自带的函数来完成使用。

    **方法1:on envVar **
    对CANoe的网络节点模型中环境变量的值更改做出反应。 Measurement Setup中的CAPL节点不会阻止环境变量。因此,当串联有两个CAPL节点时,两个节点都使用envVar上的事件过程对同一环境变量做出反应。
    例子:

    on envvar Switch {
    // Declare a CAN message to be transmitteed
    message Controller msg;
    
    // Read out the value of the switch
    // Assign to the signal Stop
    msg.Stop = getvalue(this);
    // Output the message on the bus
    output(msg);
    }
    
    

    **方法2:putValue/getValue **
    对环境变量的值进行获取或设置。
    例子:

    // Copy 64 bytes of the data buffer into the environment variable DiagData
    putValue(DiagData, dataBuf, 64);
    
    // Read the value of environment variable NodeName
    copiedBytes = getValue(NodeName, cBuf);
    
    

    其他的操作我这边用的少,就不做过多的展开。

    注意事项

    1. 环境变量的使用必须要以DBC的格式来使用,并且需要将DBC添加到CAN 网络中。
    2. 环境变量在CANoe 12.0 版本之后不适用。详情见链接
    展开全文
  • 2、系统变量对所有用户有效; 3、用户变量只对当前用户有效; 4、用户变量与系统变量,名称是变量,值是里面的内容,也就是通过变量存储了想要存储的内容,方便调用; 4、系统变量与用户变量的PATH:告诉系统可执行...
  • java获取和设置系统变量(环境变量)

    千次阅读 2019-10-22 17:16:11
    一、Java获取环境变量 Java 获取环境变量的方式很简单: System.getEnv()得到所有的环境变量 System.getEnv(key) 得到某个环境变量 Map map = System.getenv(); Iterator it = map.entrySet().iterator(); ...
  • 系统变量path删了怎么办

    千次阅读 2021-06-18 11:06:04
    1. 如果不小心把系统变量的path删除了怎么办对于恢复path变量,可跟随如下说明和操作:1、一般个人电脑,只要操作系统相同,系统环境变量path多数也是相同的。2、如果电脑上path变量丢失,只需要找一台安装同样操作...
  • windows 用户变量和系统变量的区别

    千次阅读 2018-12-17 14:50:05
    点击“我的电脑→属性→高级系统设置”标签的“环境变量”按钮,出现“环境变量”对话框,如果当前是以Administrator登录系统的用户,对话框的上面为Administrator的用户变量,对话框的下面为系统变量(即相当于系统...
  • 首先我们可以看到下面在环境变量中有用户变量和系统变量。 用户变量:如果系统中存在多个用户,比如可以多个账号登陆,那么我们在用户A的变量中配置的环境在用户B下就不能使用。(相当与局部变量) 系统变量: 在...
  • 首先,我们要了解一下系统变量的含义,变量名、变量类型、是否可修改、是否需要再通电、值的设定范围、默认值或标准值是多少 查看或修改具体步骤: 1.按下MENU菜单键; 2.选择0“下一页”; 3.选择“系统”–...
  • 深入理解CANoe中系统变量(System Variables)

    千次阅读 多人点赞 2020-08-26 21:31:37
  • KUKA机器人常用系统变量

    万次阅读 2020-09-01 09:27:02
    kuka系统变量是个超级有用的东西,我们可以通过系统变量得到许多机器人的信息、状态等等。 可很多系统变量我们不太清楚是什么意思。这里我把一些我常用的归纳一下。便于大家查询。 $ACC旋转和转动加速度 或者...
  • Windows系统中用户变量与系统变量的区别

    万次阅读 多人点赞 2019-05-29 18:17:49
    Windows系统中存在两种环境变量:用户变量和系统变量 1、两种环境变量中是可以存在重名的变量的 2、两者都不区分变量名的大小写,如Path和PATH并没有区别 3、用户变量只对当前用户有效 4、系统变量对所有用户...
  • window系统设置系统变量

    千次阅读 2019-05-24 12:57:04
    window系统设置系统变量 右键 —》 找到属性 点击属性 找到高级系统设置 ![(https://img-blog.csdnimg.cn/20190524125504218.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0...
  • 如何恢复path系统变量

    千次阅读 2020-06-08 14:19:22
    如何恢复path系统变量 当你不小心把path系统变量删除或者改变了,那么你在cmd中输入任何命令都是无效了的。 看了网上很多解决办法,复制别人的path再去配置等等,或者在注册表中恢复(这个前提是你没有重启电脑,...
  • linux 查看系统变量

    万次阅读 2018-04-10 17:13:50
    Linux的变量种类按变量的生存周期来划分,Linux变量可分为两类: 1 永久的:需要修改配置文件,变量永久生效。 2 临时的:使用export命令声明即可,变量在关闭shell时失效。1 在/etc/profile文件中添加变量【对...
  • 系统变量来获取常用的系统路径

    万次阅读 2019-07-02 10:30:01
    以下是用系统变量来获取常用的系统路径的方法,若需要获取系统信息,可使用systeminfo命令 %WINDIR% {系统目录 - C:\Windows} %SYSTEMROOT% {系统目录 - C:\Windows} %SYSTEMDRIVE% {系统根目录 - C:} %...
  • MySQL中变量分为两种:系统变量和用户变量。【1】系统变量系统定义好的变量,大部分时候用户根本不需要使用系统变量系统变量是用来控制服务器表现的。如:autocommit,auto_increment_increment等。【查看系统变量...
  • MySQL入门 SQL语言之十八:系统变量(全局变量、会话变量),自定义变量(用户变量、局部变量)的使用 #变量 /*系统变量: 全局变量  会话变量自定义变量: 用户变量  局部变量 */ #一、系统变量 /*说明:变量由...
  • windows添加系统变量

    千次阅读 2018-03-07 17:48:53
    1,在桌面找到我的电脑,右击选择属性 2,点击高级系统设置,进入到如下界面 3,找到系统变量,然后点击进入环境变量添加界面
  • 1.系统变量 说明:变量由系统定义,不是用户定义,属于服务器层面。 注意:(1) 全局变量需要添加global关键字 (2) 会话变量需要添加session关键字 (3) 如果不写,默认session会话级别 使用步骤: 1、查看所有系统...
  • shell变量(系统变量和环境变量)

    千次阅读 2017-09-20 16:50:14
    系统变量  表示方法 含义 $n $1表示第一个参数,$2表示第二个参数 $0 当前程序的名称 $?
  • win10误删系统变量path恢复方法

    千次阅读 2021-02-19 22:09:59
    首先,不要重启电脑!! ... 通过注册表挽回 1.win + R,打开运行,输入regedit,进入注册表。 2.定位至HYEK_LOCAL_MACHINE\SYSTEM\...5.在系统变量里找到path,编辑(或编辑文本),粘贴 注册表里也没了 目前还没
  • 如果你的电脑是多用户在用你就选择用户变量;如果你的电脑是私人电脑,就用系统变量就可以了
  • 1.2 系统变量 1.2.1 系统变量定义 1.2.2 系统变量操作 1.3 局部变量 1.3.1 局部变量定义 1.3.2 赋值 1 变量分类 MySQL数据库中的变量分为MySQL系统变量和MySQL用户变量 1.1 用户变量 1.1.1 用户变量定义 ...
  • shell编程常见系统变量 命令 功能 $0 当前脚本名称 $? 命令或程序执行完后的状态,返回0则表示执行成功 $n 当前脚本的第n个参数,n=1,2,…9 $# 当前脚本的参数个数(不包括程序本身) $* 当前脚本的...
  • 从零开始学习CANoe(三)—— 系统变量的创建和使用
  • windows下用户变量和系统变量

    万次阅读 多人点赞 2018-06-24 14:11:23
    区别:系统环境变对全部用户起作用,而用户环境变量仅仅对当前用户起作用。 作用: 程序(脚本)中使用的变量提供所需的数据 Path这个变量在用户变量和环境变量中都有:PATH是路径的意思,PATH环境变量中存放的值,...
  • 对话框的上面为Administrator的用户变量,对话框的以下为系统变量(即相当于系统中全部用户的用户变量)。  有的时候我们会看到在用户变量和系统变量中都存在某一个环境变量。比方path,那么path的值...
  • 在配置环境变量的时候,大家都会经历过一步,那就是现在用户变量里定义一个PATH,然后再修改系统变量Path,那么为什么呢?不能够直接在Path里配置吗? 答案是可以再Path里配置,但是这样会造成一些问题,因为Path是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,661,755
精华内容 1,064,702
关键字:

系统变量