Questions tagged «environment-variables»

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

3
如何导出变量以用于sudo?
在Slackware上,使用sbopkg允许从源代码构建软件包。Repos不如Debian大,但是很好。 某些软件可以使用环境变量,例如在VICE c64仿真器上,如果将变量 FFMPEG设置为yes,它将启用ffmpeg记录仿真器的功能。 我尝试使用 $ export FFMPEG=yes; sudo sbopkg -B -i vice 但ffmpeg已被禁用。 相反,我不得不使用 $ su - $ export FFMPEG=yes $ sbopkg -B -i vice 哪个有效。 如何使用环境变量sudo?

5
如何显示环境变量的当前值?
当我检查系统的环境时,将弹出许多环境变量。如何只搜索特定变量? 我正在读的书说: 有时,环境中的变量数量会变得非常大,以至于您只对一个变量感兴趣时就不想看到所有显示的值。在这种情况下,可以使用echo命令显示环境变量的当前值。 如何在Linux终端中执行此操作?


1
为什么在zsh中将vim导出为EDITOR会禁用键盘快捷键?
我的.zshrc样子是这样的: export EDITOR="/usr/bin/vim" 现在,当我打开一个终端并输入键盘快捷键(如ctrla要转到该行的开头)时,它将不起作用。而是将字符串^A(或其他字符串,取决于我输入的快捷方式)输入到终端: emlai:~ % ^A export从我的单词中删除单词.zshrc会使键盘快捷键正常工作: EDITOR="/usr/bin/vim" 导出EDITOR为其他东西,而不是vim使键盘快捷键也可以工作,例如: export EDITOR="/usr/bin/nano" 为什么会这样? 我也对此进行了测试bash,并且键盘快捷键在所有情况下都可以正常工作。

3
获取其他用户的环境变量
很难说出这里的要求。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以当前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 6年前关闭。 有没有办法可以查看其他用户的环境变量?我想以root用户身份执行此操作,因此权限不会成为问题。 对于用户本人,我使用echo $PATH或set | grep PATH(或set当我不记得变量名时)。对于其他用户,类似的指示是什么? 对于它的价值,我使用的是Ubuntu Server 13.04。

5
导出一个env变量以在所有子shell上可用,并且可以对其进行修改吗?
假设我有 export MY_VAR=0 在~/.bashrc。 我有一个打开的gnome终端,在这个终端中,我将$MY_VARvalue 更改为200。所以,如果我愿意 echo $MY_VAR 显示在此终端200中。 现在,我在gnome终端中打开了另一个标签,然后执行 echo $MY_VAR ...而不是200,我有0。 当终端修改环境变量,并使此修改(设置为200)可用于所有后续子shell等时,我该怎么做才能保持200的值?这可能吗?

3
使用空的shell变量时发出错误
有时我使用$PROJECT_HOME/*来删除项目中的所有文件。如果PROJECT_HOME未设置环境变量(因为我设置了环境变量,su并且新用户未设置此环境变量),它将开始从根文件夹中删除所有文件。这是世界末日。 bash在外壳中使用未定义的环境变量时,如何配置抛出错误?

5
阻止SSH客户端将TERM环境变量传递给服务器?
我目前正在使用Fedora 18 gnome-terminal,然后tmux在其中启动了多路复用器。通过命令连接到CentOS 5服务器后ssh,我发现: ls 结果没有颜色 tmux,screen,hexedit,htop都未能启动,错误信息,如:打开终端失败:终端丢失或不合适:screen-256color 似乎ssh将$ TERM环境变量传递给服务器,但是我在/etc/ssh/ssh_configFedora 18的文件中找不到它。 尽管我可以在服务器上手动更改$ TERM变量,但是每次连接时,它都会再次发生。那么如何预防呢?


2
使用sudo运行时未在脚本中设置JAVA_HOME
我正在尝试运行一个需要安装Java并设置JAVA_HOME环境变量的安装脚本。 我已经设置好了JAVA_HOME,/etc/profile并且还在一个我已调用的文件java.sh中/etc/profile.d。我可以echo $JAVA_HOME并获得正确的回应,我甚sudo echo $JAVA_HOME至可以并获得正确的回应。 在install.sh我要运行的中,我插入了echo $JAVA_HOME。当我不运行此脚本时,会sudo看到j​​ava目录;当我运行脚本时sudo它是空白的。 任何想法为什么会这样? 我正在运行CentOS。

2
环境变量中单引号和双引号的意义是什么?
我在.profile中定义了一些环境变量,如下所示: MY_HOME="/home/my_user" 但是除非我去除引号并重新获取文件,否则该变量似乎不会求值。我相信,如果有空格,则必须使用引号;如果不希望使用转义符,则使用单引号。有人可以澄清变量定义中单引号和双引号的重要性吗?前叉和后叉怎么样?

4
如何将密码传递给子进程?
已知在命令行上(从我的程序启动的子进程中)传递密码是不安全的(因为即使使用ps命令的其他用户也可以看到密码)。可以将其作为环境变量传递吗? 我还能通过什么?(除了环境变量),最简单的解决方案似乎是使用管道,但是这种最简单的解决方案并不容易。 我在Perl中编程。

3
如何列出所有shell变量?
阅读有关此问题的信息:在zsh中如何列出所有环境变量?,我想知道如何列出所有shell变量? 另外,shell变量和环境变量之间的区别是否适用于zsh以外的其他shell? 我主要对Bash和Zsh感兴趣,但是很高兴知道如何在其他主流Shell中做到这一点。

2
shell变量的扩展以及glob的影响和拆分
这篇文章实际上包含两个独立的问题,但我认为将它们组合在一起将提供更多的上下文。我已经在变量引号上讨论了这个问题,但我不太了解变量扩展首先是什么意思。所以我的第一个问题是: 在unix / linux中,变量扩展是什么? 我的问题的第二部分涉及以下术语: 球状 分裂 以上是什么意思,它们如何影响变量扩展?原始问题的答案提到以下内容: 将没有引号(在列表上下文中)视为split + glob运算符。 好像echo $ test是echo glob(split(“ $ test”))一样。 我找不到任何直接解决“ 遍历和分裂 ”概念的答案,而是直接将这些术语用于回答其他问题,例如最近的问题。


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.