Questions tagged «environment-variables»

对于与环境变量有关的问题,一组动态变量可能会影响正在运行的进程的行为和对资源的访问。使用此标记可解决有关环境变量的问题,或有关在运行过程行为和对资源的访问中因设置或修改变量值的影响而引起的问题的问题。

3
设置环境变量的最好的发行版/与外壳无关的方法是什么?
问题说明了一切。我目前使用Arch Linux和zsh,但是我想要一个(至少)可以在VT和xterm上运行的解决方案,并且(希望,最好是)如果我切换发行版或shell,它也可以继续工作。 我已经在不同发行版的文档中听到了对该问题的截然不同的答案。Ubuntu说“使用.pam_environment”。我认为在Arch中,他们的建议取决于您的外壳。当前,我将所有内容都放在.profile中,如果外壳由于某种原因(例如bash如果存在.bash_profile存在)不提供该资源,则可以通过手动采购来覆盖它。但是似乎必须有一个更好的方法。


4
“ _ =”是什么意思?
运行后set -a var=99,我可以在输出中找到一个句子set: ... TERM=xterm UID=0 USER=root VIRTUAL_ENV_DISABLE_PROMPT=1 _=var=99 colors=/etc/DIR_COLORS ... 谁能告诉我“ _ =”是什么意思? 我注意到那echo $var将什么也没有。如果我运行set -a,则set不会再包含此变量。怎么了?

9
从PATH删除目录
我正在尝试使用MingW编译wxWidgets,并且我的路径中存在cygwin,这似乎冲突。所以我想/d/Programme/cygwin/bin从PATH变量中删除,我想知道是否有某种优雅的方法可以做到这一点。 幼稚的方法是将其回显到文件,手动将其删除并获取它,但是我敢说有更好的方法。

3
如何在Shell脚本中更改PATH?
我有几个项目需要更改Java / Grails / Maven的版本。我正在尝试通过一些脚本来进行更改。例如: #!/bin/sh export JAVA_HOME=/cygdrive/c/dev/Java/jdk1.5.0_22 export PATH=$JAVA_HOME/bin:$PATH export GRAILS_HOME=/cygdrive/c/dev/grails-1.0.3 export PATH=$GRAILS_HOME/bin:$PATH export MAVEN_HOME=/cygdrive/c/dev/apache-maven-2.0.11 export PATH=$MAVEN_HOME/bin:$PATH which java which grails which mvn 执行此操作时,它成功地在脚本的上下文中更改了PATH,但随后脚本结束了,并且尚未完成任何更改。 如何运行脚本以更改当前正在使用的shell的PATH? 我正在使用Cygwin。

2
什么是$ PWD?(与当前工作目录相对)
因此Wikipedia(链接)告诉我该命令pwd是“打印工作目录”的缩写,这很有意义。 但是对于环境变量,“ P”必须是除了打印以外的首字母缩写。 我听到有人在谈论“当前工作目录”,这听起来更好,更直观,但是环境变量似乎仍被称为$ PWD,而不是$ CWD。没人说“您检查过打印工作目录变量了吗?”。 我目前正在使用Web应用程序服务器uWSGI,并在运行时告诉我(在uWSGI统计信息页面上): "cwd":"/home/velle/greendrinks", 因此,他们显然喜欢cwdover (更直观的缩写)pwd。 我想我想弄清楚是否是我误解了某些东西,或者仅仅是给环境变量取了一个不直观的名称的问题?

2
TERM环境变量默认值在哪里设置?
当我在桌面GUI中使用GNOME终端仿真器打开终端窗口时,shell TERM环境变量默认为值xterm。 如果我使用CTL+ ALT+ F1切换到控制台TTY窗口,并且echo $TERM该值设置为linux。 我发问的动机是,在我的~/.bashrc文件中使用一个变量来确定是否提供了彩色外壳或仅是老式的单色。 # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) color_prompt=yes;; esac 在控制台外壳和Gnome Terminal模拟器外壳中,如果我键入 export TERM=xterm-color source /.bashrc 两个壳都更改为颜色模式(我想总是在这两者中发生某些事情)。 请在哪里TERM设置默认值?如果可能,最好在哪里更改默认值?终端仿真器GUI中似乎没有任何东西可以选择或设置默认的TERM值。 我确实考虑过仅将行添加export TERM=xterm-color到~/.bashrc文件的顶部,但是我的直觉告诉我这不是最好的解决方案,而且我的Google搜索还没有给我一个很好的答案。 我正在运行Ubuntu 15.04桌面版(基于Debian)。

5
LD_LIBRARY_PATH在哪里?如何设置LD_LIBRARY_PATH env变量?
我正在尝试使用Unix构建C ++程序。 我得到了错误 Linking CXX executable ../../bin/ME /usr/bin/ld: cannot find -lboost_regex-mt 听说我只需要在我的LD_LIBRARY_PATH env变量中设置libboost *的位置,然后像最初那样通过键入以下内容调用make -L /usr/lib64 -l boost_regex-mt 要么 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64 但是LD_LIBRARY_PATH在哪里?如何设置LD_LIBRARY_PATH env变量?

5
Makefile包含环境文件
我正在尝试在Makefile中包含一些环境变量。env文件如下所示: FOO=bar BAZ=quux 注意没有导致export每个环境变量。如果我在Makefile中添加前导文件export和仅includeenv文件,那么一切都会正常进行。但是我需要保持环境无人值守export。这使我无法仅include envfile在Makefile中使用。 我也尝试过这样做: sed '/^#/!s/^/export /' envfile > $(BUILDDIR)/env include $(BUILDDIR)/env 但是这样做会使make引发错误,因为没有包含env文件。



2
如何重置外壳环境?
这个问题困扰了我一段时间,尽管我认为我已经通过EnvWatcher找到了答案,但不幸的是,它仅适用于Bash。我用zsh。 我想在较小程度上复制env-watcher的功能,但是我需要知道是否有命令可以将shell重置为干净的启动阶段。 例如,我想要以下工作流程。 source some-functions alias another-thing export SVN_EDITOR=vim RESET-ZSH # none of the above are valid any more 有这种内在的可能性,还是我在追蝴蝶?


8
如何获取另一个进程的环境变量?
如果我检查/proc/1/environ一下,可以看到进程1的环境变量的以空字节分隔的字符串。我想将这些变量带入当前环境。是否有捷径可寻? 该proc手册页给我一个片段,这有助于将打印出每个环境变量一行一行地的基础(cat /proc/1/environ; echo) | tr '\000' '\n'。这可以帮助我验证内容是否正确,但是我真正需要做的是将这些变量输入到当前的bash会话中。 我怎么做?

6
通过SSH连接后如何立即运行脚本?
我开始问这个问题,但是在我打开它时就回答了。我将发布此问题,并提出我的解决方案,并留给其他可能的解决方案。 <背景故事> 我是tmux和vim用户。我喜欢远程vim的工作,因为当Flash电影给我带来内核恐慌时,我不必担心Ubuntu开发机器的麻烦。运行tmux意味着重新启动后打开的文件正在等待我,并且我可以从中断的地方继续进行。像这样连接时,我在tmux会话中运行vim时遇到了问题: ssh example.com -t 'tmux attach' UTF-8问题会突然出现,而通常在脱壳并手动附加到tmux会话时不会出现。 </背景故事> 所以我想要一种可重用的方法来启动ssh登录,这不会影响我在开发环境中可能需要的任何其他配置.zshrc(或者.bashrc如果您仍然使用bash,则在您的配置中),而不会当我偶尔在上述机器上本地工作时出现。

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.