Questions tagged «environment-variables»

环境变量是共享相同值的系统范围变量。这些变量通常在执行命令时由外壳程序解析,并扩展为它们的适当变量。例如,这允许用户移动文件位置,而无需更新脚本中的硬编码路径(他们只需要更新环境变量)即可。

10
无法解析%windir%/无法修改%path%或在启动时重置的%path%
有关问题的发展方式,请参见下面的更新3和4。 我的电脑(Windows 7 x64,Lenovo Thinkpad T530)解决%windir%问题。启动后,一切正常。稍后,计算机突然无法解析%windir%。 检查环境变量窗口显示它已定义。 检查注册表还显示它也已定义。我实际上已经删除了密钥,然后重新输入却无济于事。 重新启动后,一段时间后一切正常。是否有人对我可以检查的其他事项有任何想法? 更新1: 经过一番思考之后,我已经卸载了大约在此问题开始发生时安装的Konica Minolta Pagebox驱动程序/程序(请参阅下面的评论)。这个问题似乎需要大约4-24个小时(我从未计时),因此我将在此之后再次进行更新。 更新2: 问题仍在发生。我从午餐回来,找不到%windir%。今天早上重启后,我进行了一次测试,将计算机置于睡眠状态,然后将其唤醒。唤醒后仍定义%windir%。 更新3: 根据丹尼尔(Daniel)的评论,我set在错误前后进行了比较,比较了输出结果。我注意到的第一件事是,在新启动时,我的%path%长为2000+个字符。我将其修剪到〜375个字符,并在新的cmd窗口中对其进行了验证。我重新启动,再次检查了路径,它又回到了2000多个字符(与我最初看到的字符匹配)。我再次将其截断,然后再次重新启动,发生了同样的事情。我删除了path变量并创建了一个新变量;同样的事情发生了。在这一点上,我可以得出的结论是,要么我无法永久更改路径,要么路径在启动时被某些进程重置。有什么想法吗? 更新4: 我通过下面建议的注册表方法编辑了路径。经过一段时间的运行,我今天检查了自己的路径,该路径已从我输入到注册表中的内容开始增长。现在,它有一些新条目和很多重复项。唯一的新条目来自SQL Server2012。我去更改了注册表中的内容,发现注册表与的输出不匹配echo %path%。从“高级属性”选项卡中检查环境变量将显示我的路径的第三个版本。 Registry Path: C:\Program Files (x86)\Microchip\mplabc30\v3.30\bin; C:\RUBY193\BIN; C:\Windows\SYSTEM32; C:\Windows; C:\Windows\SYSTEM32\WBEM; C:\PROGRAM FILES\COMMON FILES\LENOVO; C:\SWTOOLS\READYAPPS; C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO; C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN; C:\HTSOFT\PIC18\BIN; C:\PROGRAM FILES\TORTOISESVN\BIN; C:\Windows\System32\WindowsPowerShell\v1.0\; C:\Program Files (x86)\Microsoft …

13
Windows为什么不能在Path中处理环境变量?
我和我的同事有安装Windows XP Professional x64版本的相同的Dell工作站。 我的路径环境变量开头为: %JAVA_HOME%\bin;... 我的同事的Path变量包含使用相同环境变量指定的相同目录,但这不是他的Path中的第一项。 如果我访问系统属性->环境变量并更改JAVA_HOME变量的值,则从命令行找到的Java版本会按我的预期进行更改。这将启动一个全新的控制台窗口,以确保获取更改。 但是在我同事的机器上却没有。他继续找到他以前的Java版本,直到他调出Path变量并保存为止(即使他没有对其进行任何更改)。(同样,这是在启动全新的控制台窗口时。) 我已经在Windows上观察到大约6个月的这种不一致了,对此感到非常好奇。我们办公室中的Windows版本太多了,所以直到现在,我很少有机会在运行完全相同的OS版本的两台计算机上看到这种情况。 是什么原因造成的?为什么我的机器在我的机器上不使用新的JAVA_HOME重新评估Path? (是因为这不是Path中的第一件事?如果是的话,那怎么可能?为什么?我会做更多的测试来检查,但是我认为他现在已经受够了并且想恢复工作)

2
如何在bash行CURL中包含环境变量?
尝试让Transmission通知下载完成。 这有效: curl -u <my-api-token>: \ -X POST https://api.pushbullet.com/v2/pushes \ --header 'Content-Type: application/json' \ --data-binary '{"type": "note", "title": "$TR_TORRENT_NAME", \ "body": "$TR_TORRENT_NAME completed."}' ...除了它推送$TR_TORRENT_NAME而不是该变量的实际内容。 我需要转义一些报价吗?

3
bash_profile或bashrc中的环境变量?
我发现了这个问题[blog] :.bashrc和.bash_profile之间的区别非常有用,但是在看到投票率最高的答案之后(非常好),我还有其他问题。在投票最多的正确答案的结尾,我看到以下陈述: 请注意,您可能会在这里和那里看到将环境变量定义放入〜/ .bashrc或始终在终端中启动登录Shell的建议。两者都是坏主意。 为什么这是个坏主意(我不是想打架,只是想了解)? 如果我想设置一个环境变量并将其添加到PATH(例如JAVA_HOME)中,这将是放置导出条目的最佳位置?在〜/ .bash_profile或〜/ .bashrc中? 如果问题2的答案是〜/ .bash_profile,那么我还有两个问题: 3.1。你会在〜/ .bashrc下放什么?仅别名? 3.2。在非登录shell中,我相信〜/ .bash_profile没有被“拾取”。如果JAVA_HOME条目的导出位于bash_profile中,我可以执行javac和java命令吗?它会在PATH上找到它们吗?这就是为什么某些帖子和论坛建议将JAVA_HOME等设置为〜/ .bashrc的原因吗? 提前致谢。

5
启动应用程序时,Windows命令提示符是否在PATH变量指定的位置之外的其他位置搜索?
我尝试了以下实验。 在开始之前,我检查了cmd中的PATH变量,该变量具有以下值: Path=C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\ProgramData\Lenovo\ReadyApps;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Skype\Phone\;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 (x86)\Calibre2\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\; 最初,我认为cmd仅在PATH变量包含的目录中查找可执行文件,因此我随机选择了一个应用程序-winword.exe(Microsoft Word),并尝试从命令行启动它: start winword 但是令我惊讶的是,该程序启动了!我感到惊讶的原因是因为我已经在PATH变量中的所有目录中搜索了名为“ winword”的exe文件,但所有搜索都为空! 因此,我得出结论,命令提示符必须在PATH变量中指定的位置之外的其他地方搜索以查找可执行文件。 显然,我要做的下一件事是寻找“ …



5
在PowerShell中设置$ HOME
每次打开powershell时,如何将默认主目录更改为“ C:\ Users \ khornsby”? 我正在运行Windows7。以下是有关我的环境状态的信息。 Windows PowerShell 版权所有(C)2009 Microsoft Corporation。版权所有。 PS P:\> cd ~ PS P:\>echo $HOME P:\ PS P:\> HOME="C:\Users\khornsby" 术语“ HOME = C:\ Users \ khornsby”未被识别为cmdlet的名称, 功能,脚本文件或可操作程序。检查名称的拼写,或者 如果包含路径,请确认路径正确,然后重试。 在线:1字符:25 + HOME =“ C:\ Users \ khornsby” PS P:\> Set-Variable HOME "C:\Users\khornsby" Set-Variable:由于变量HOME是只读或不能覆盖变量HOME 不变。 在线:1字符:13 +设置变量 PS P:\> …

3
在Mac OS X的哪里设置DYLD_LIBRARY_PATH,这是一个好主意吗?
我正在尝试在Mac(OS X)上安装用C ++编写的求解器,以与用XCode编写的代码一起使用。 求解器文档说: 确保有“。” DYLD_LIBRARY_PATH为了你 运行现成的可执行文件 与libamg.dylib(和gfortran RTSlib)链接 我真的不明白这是什么意思。我需要在哪里更改什么? 我做了一些谷歌搜索,但是还没有遇到像我这样的新手那么简单的事情!如果有耐心的人不介意将我引导到在线资源,或者不给我有关如何以及在何处设置环境变量的摘要,我将不胜感激。

4
在Windows 8中更改环境变量的更简单方法?[重复]
可能重复: 什么是PATH和其他环境变量,如何设置或使用它们? 我知道我可以通过以下方式在Windows 8中编辑环境变量 Start -> All Apps -> Control panel -> System -> Advanced System Settings -> Advanced -> Environment variables. 但是说实话,这很复杂。 有没有更简单的方法来更改Windows 8中的环境变量? 例如,如果我只想将新文件夹追加到PATH,那么完成所有这些步骤确实很烦人。UI也很烂,因为使用小文本输入来编辑长变量值确实很痛苦。 要求1:我需要更改保存下来(例如,当我set在控制台中使用时,关闭控制台后所做的更改会丢失) 要求2:我更喜欢不涉及安装额外软件的解决方案,因为这是每次配置新Windows框时都会遇到的问题。



4
在OS X中的Java 7和8之间切换
我已经安装了Java-8。现在我想默认返回到Java-7,所以我输入... /usr/libexec/java_home -v 1.7.0_40 --exec java -version /usr/libexec/java_home -v 1.7.0_40 --exec javac -version 但我仍然看到... java -version java version "1.8.0-ea" Java(TM) SE Runtime Environment (build 1.8.0-ea-b108) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b50, mixed mode) 这确实有效... export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home 但是我想要一个更永久的解决方案。 有人看到我在做什么错吗?

2
HTTP_PROXY,HTTPS_PROXY和NO_PROXY环境变量是否标准?
似乎有许多程序旨在读取这些环境变量,以决定要通过哪个代理才能连接到Internet上的资源。这些程序可能还具有自己的单独的代理设置,但是如果未设置它们,它们将很乐意使用这些环境变量... HTTP_PROXY HTTPS_PROXY NO_PROXY 我只是想知道: 这些环境变量是否标准? 是否存在书面建议规范(可能由OS制造商提供?),建议使用这些环境变量?

2
/ etc / environment和/ etc / profile之间有什么区别?
我理解前者是在后者之前加载的,但概念差异是什么?有没有什么好的理由我应该在一个变量中设置一些变量而不在其他变量中?除了/etc/environment为系统运行的所有进程设置环境似乎存在的事实,同时/etc/profile用于设置从登录shell使用和传播的环境,是否正确? 另外,在附注中,传统上读取哪个程序/etc/environment?它与POSIX有关,还是只是一个约定?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.