标签: environment-variables

293
推荐指数
8
解决办法
41万
查看次数

为什么sudo会改变PATH?

这是PATH没有sudo 的变量:

$ echo 'echo $PATH' | sh 
/opt/local/ruby/bin:/usr/bin:/bin
Run Code Online (Sandbox Code Playgroud)

这是PATHsudo 的变量:

$ echo 'echo $PATH' | sudo sh
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
Run Code Online (Sandbox Code Playgroud)

据我所知,sudo应该PATH保持不变.这是怎么回事?我该如何改变?(这是在Ubuntu 8.04上).

更新:据我所知,没有任何脚本PATH以任何方式作为root更改.

来自man sudo:

为了防止命令欺骗,当在用户的PATH中搜索命令时(如果一个或两个都在PATH中),sudo会检查``.''和``''(都表示当前目录).但请注意,实际的PATH环境变量未被修改,并且不会更改地传递给sudo执行的程序.

sudo path environment-variables

279
推荐指数
7
解决办法
13万
查看次数

如何在Linux中为GCC添加默认包含路径?

我希望gcc $HOME/include除了通常的include目录之外还包含文件,但似乎没有类似的东西$LD_LIBRARY_PATH.

我知道我可以在编译时(或在makefile中)在命令行添加include目录,但我真的很喜欢这里的通用方法,就像在库中一样.

linux gcc environment-variables include

277
推荐指数
4
解决办法
46万
查看次数

如何从Java设置环境变量?

如何从Java设置环境变量?我看到我可以使用子进程执行此操作ProcessBuilder.我有几个子进程要启动,所以我宁愿修改当前进程的环境,让子进程继承它.

有一个System.getenv(String)获取单个环境变量.我也可以获得一套Map完整的环境变量System.getenv().但是,要求put()Map引发UnsupportedOperationException-显然,他们的意思是对环境只能被读取.并且,没有System.setenv().

那么,有没有办法在当前运行的进程中设置环境变量?如果是这样,怎么样?如果没有,理由是什么?(这是因为这是Java,因此我不应该做一些邪恶的非便携式过时的事情,比如触摸我的环境吗?)如果没有,那么管理环境变量的任何好建议都会改变我需要提供给几个子进程?

java environment-variables

270
推荐指数
13
解决办法
35万
查看次数

如何在Xcode项目中打印"构建设置"列表?

替代标题

  • Xcode构建变量列表
  • 打印Xcode Build Settings列表
  • Clang环境变量
  • Xcode环境变量的典型列表

是否有可用于构建规则的Xcode环境变量规范列表

xcode build-process environment-variables clang

265
推荐指数
6
解决办法
10万
查看次数

建议在Java中获取主机名的方法

以下哪项是获取Java当前计算机主机名的最佳和最便携方式?

Runtime.getRuntime().exec("hostname")

VS

InetAddress.getLocalHost().getHostName()

java network-programming hostname environment-variables

262
推荐指数
10
解决办法
31万
查看次数

我在哪里可以设置crontab将使用的环境变量?

我每小时都有一个crontab..bash_profile当用户从终端运行作业时,运行它的用户在该工作中具有环境变量,但是,显然这些在运行时不被crontab拾取.

我试着在设置它们.profile.bashrc,但他们似乎仍然没有得到回升.有谁知道我可以把crontab可以拿到的环境变量放在哪里?

unix linux crontab environment-variables

250
推荐指数
12
解决办法
26万
查看次数

javac不被识别为内部或外部命令,可操作程序或批处理文件

我在尝试编译Java程序时遇到错误.

我在Windows上(这是一个特定于Windows的问题),我安装了最新的JDK.

我尝试过涉及PATH变量的解决方案,但错误仍然存​​在.

控制台输出:

C:\>set path=C:Program Files (x86)\Java\jdk1.7.0\bin
C:\>javac Hello.java
'javac' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

java path javac environment-variables command-prompt

248
推荐指数
5
解决办法
106万
查看次数

我可以从bash脚本将变量导出到环境中而不需要获取它吗?

假设我有这个脚本

export.bash:

#! /usr/bin/env bash
export VAR="HELLO, VARIABLE"
Run Code Online (Sandbox Code Playgroud)

当我执行脚本,并尝试访问$VAR我没有价值!

echo $VAR
Run Code Online (Sandbox Code Playgroud)

有没有办法$VAR只通过执行export.bash来访问它而不需要采购它?

unix bash shell environment-variables

247
推荐指数
6
解决办法
27万
查看次数

为什么SSH远程命令会在手动运行时获得更少的环境变量?

我有一个运行正常的命令,如果我ssh到一台机器并运行它,但当我尝试使用远程ssh命令运行它时失败,如:

ssh user@IP <command>
Run Code Online (Sandbox Code Playgroud)

使用两种方法比较"env"的输出在不同环境中重新进行.当我手动登录到机器并运行env时,我运行时会获得更多的环境变量:

ssh user@IP "env"
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

ssh environment-variables

225
推荐指数
4
解决办法
18万
查看次数