zoukankan      html  css  js  c++  java
  • Linux的环境变量配置在/etc/profile或/etc/profile.d/*.sh文件中的区别是什么?

    @


    Linux的环境变量可在多个文件中配置,如/etc/profile,/etc/profile.d/*.sh,~/.bashrc等,下面说明上述几个文件之间的关系和区别。

    bash的运行模式可分为login shell和non-login shell

    login shell

    • 例如,我们通过终端,输入用户名、密码,登录系统之后,得到就是一个login shell。

    non-login shell

    • 而当我们执行以下命令ssh hadoop103 command,在hadoop103执行command的就是一个non-login shell。

    它们的区别

    • 这两种shell的主要区别在于,它们启动时会加载不同的配置文件。
    • login shell启动时会加载/etc/profile
    • non-login shell启动时会加载~/.bashrc
    • 但是无论在加载~/.bashrc(实际上是加载了~/.bashrc中的/etc/bashrc)或/etc/profile时,都会执行如下代码片段:
      在这里插入图片描述
    • 所以,无论在login shell或non-login shell环境中,都会加载/etc/profile.d/*.sh文件,这样我们为什么不自定义一个my_env.sh文件用来存放java或者其他的环境变量,一劳永逸!
    如果真的不知道做什么 那就做好眼前的事情吧 你所希望的事情都会慢慢实现...
  • 相关阅读:
    bind函数(c++11)
    谓词
    lambda表达式(c++11)
    重载运算符
    sizeof新用法(c++11)
    引用限定符(c++11)
    this指针和const成员函数
    JavaScript for循环元素取下标问题
    Hbuider sass配置 webstorm scss配置
    检测对象是否拥有某一属性
  • 原文地址:https://www.cnblogs.com/sunbr/p/14328157.html
Copyright © 2011-2022 走看看