当前位置: 首页 > 知识库问答 >
问题:

/etc/profile中的环境变量不适用于Ubuntu 12.04 LTS上的HBase

傅星光
2023-03-14
sudo service hbase-master start

它说没有找到java_home

但是我确实在/etc/profile中配置了java_home

我在google上搜索,发现有人说sudo服务xxx start使用login shell/etc/profile中的变量不能用于登录shell吗?

我还尝试从另一台计算机通过ssh登录,以证明/etc/profile不起作用:

ssh myuser@mypc 'echo $JAVA_HOME > /tmp/tmp.log'

在我发出上面的ssh命令后,什么也没有显示。

我还尝试在~/.bashrc/root/.bashrc中配置java_home。也没用。

谁能告诉我我的环境配置出了什么问题?THX.

共有1个答案

丌官嘉良
2023-03-14

根据Sudoers(5)

默认情况下,启用env_reset选项。这会导致命令在一个新的、最小的环境中执行。在AIX(以及没有PAM的Linux系统)上,使用/etc/environment文件的内容初始化环境。

作为一个特例,如果指定了sudo的-i选项(初始登录),sudoers将初始化环境,而不管值为ofenv_reset。显示、路径和术语变量保持不变;HOME、MAIL、SHELL、USER和LOGNAME是根据目标用户设置的。在AIX(和没有PAM的Linux系统)上,还包括/etc/environment的内容。

 类似资料:
  • 我在Windows10机器上运行Docker1.12.0。我正在开发一个Java程序,使用Maven 3.3.9作为依赖项管理器。我有一个maven docker插件(https://github.com/fabric8io/docker-maven-plugin),它在干净安装时会出现以下错误。 [ERROR]未能执行目标IO.fabric8:docker-maven-plugin:0.15.1

  • 我正在编写一个程序,在这个程序中,我必须使用Ubuntu中的IDE IntelliJ思想获得一些env变量,如JAVA_HOME。 我已经在/etc/profile和~/.bashrc中设置了所有的env变量,但是对于这样的代码,我不能访问我设置的env,因为代码只能访问/etc/environment中设置的变量。 等-配置文件

  • C:\python27\arcgis10.1;C:\python27\arcgis10.1\scripts;C:\python27\arcgis10.1\lib\site-packages\osgeo;C:\program Files(x86)\common Files\intergraph\grid Analysis sdk\1.0\program;%systemroot%\systemroot

  • 问题内容: Jenkins(管理jenkins->系统信息)下的环境变量从何而来? 我检查了/etc/init.d/tomcat5,/ usr / bin / dtomcat5,/ usr / bin / tomcat5,/ etc / sysconfig / tomcat5和/ etc / profile,但在那里没有看到任何此类变量,特别是与Oracle相关的变量(Base,Home,Ld_l

  • 我在一个Jpanel中有一个jbutton,它有FlowLayout和尾部对齐。这段代码实际上在ubuntu环境中工作,但当我在centos环境中运行它时,文本不适合按钮。 然后我添加以下几行: 这额外的线路有帮助,但看起来,解决方案并不好。

  • Apache HTTP服务器提供了一个机制,可以把信息存储在叫做环境变量(environment variable)的命名变量中。这个信息可以用于控制诸如日志记录和访问控制之类的操作。此外,还可以作为一个和诸如CGI脚本这样的外部程序进行沟通的机制。本文档讨论了操作和使用这些变量的不同方法。 尽管这些变量也被称作环境变量,但它们和底层的、由操作系统控制的环境变量不能混为一谈。这些变量仅在Apach