转载自这里
和Bash的环境设定有关的文件有
/etc/profile (主要)
$HOME/.bash_profile (主要)
$HOME/.bash_login
$HOME/.profile
$HOME/.bash_logout (主要)
$HOME/.bashrc (主要)
/etc/bashrc
说明如下:
- 先执行 /etc/profile
- 接着bash会检查使用者的自家目录中,是否有 .bash_profile 或者 .bash_login或者 .profile,若有,则会执行其中一个,执行顺序为:
- .bash_profile 最优先
- .bash_login其次
- .profile 最后
这三个档案只有在登入时,才会被bash读取
bash会检查使用者自家目录中是否有 .bash_logout,若有,则bash会执行其中的指令
此时我们称之为一个 subshell, 也就是说在命令列中键入 bash, 除了原先登入时的bash之外, 又另外启动了一个新的 bash shell.
bash 会检查使用者的自家目录中是否有 .bashrc,若有则予以执行
在各档中加入 echo 指令, 以观察其执行顺序.
各文件用途说明
- /etc/profile 由 root 所控制, 用来设定适合全体使用者的shell环境
- 若使用者自己觉得 /etc/profile 的设定, 并不合意, 可以修改自家目录中的 .bash_profile
- 既然有了 .bash_profile, 为何要有 .bash_login 及 .profile ?这是因为有些人可能是从 Bourne shell 移转过来的, 那么, 只要将 Bourne shell 主要的起动档 .profile 移到自家目录中, 放弃使用 .bash_profile 及 .bash_login 即可继续沿用以前的设定环境
- .bash_login 存在理由或许和 c shell 有关, 但因为 bash 和 c shell 二者语法并不完全相容, 因此, 并不建议将 c shell 的启动档直接移过来使用.
- .bashrc 则是用来设定 subshell 的环境的, 之所以要有这个 .bashrc 是为免 subshell产生时, 又重覆将 /etc/profile 执行一次. 我们发现 .bashrc 中已预先会去执行 /etc/bashrc的指令, 这表示, 或许 root 会将产生 subshell 时的环境设好了,使用者只要沿用 /etc/bashrc的内容, 应该不会有任何问题.
- .bash_logout 是使用者登出主机之前, 会去执行的设定档, 如果使用者希望在他登出系统之后, 能帮他自动处理一些琐事, 比如: 清除临时文件, 清除屏幕等, 可以在这个档案中加以设定.
以下文章也许和本文有点关系:
------------------------------------------------------------------------------------------------
The above article is abstracted from somewhere else.
Something else to explain. I am using Linux 2.6.9. I put some environment variable into .bash_profile, seems like it doesnt' work. But if I put it into .bashrc, it works.
After I log into Linux server, and bash, all the variables are available.
To see your os info --- uname -a
Basic unix command list -- http://www.chem.brown.edu/computing/unix/unixbasic.html
分享到:
相关推荐
在Linux和Unix系统中,环境变量对于系统管理和日常操作至关重要。它们不仅影响着系统的运行环境,还对用户的工作流程产生了深远的影响。本文旨在深入探讨Linux和Unix环境变量的相关概念、设置方法以及常见应用场景。...
在Linux系统中,环境变量是一种重要的配置方式,用于向程序传递系统级别的信息。这些变量包括路径信息、语言设置、用户主目录等,它们对系统的运行起着至关重要的作用。 #### 二、设置与查看环境变量 1. **查看...
在Linux中,Bash环境变量的配置通常涉及以下几个文件: 1. `/etc/profile`:这是系统级别的配置文件,用于设置所有用户的环境信息,当用户首次登录时执行。如果在该文件中修改了环境变量,需要重启系统才能使修改...
在Unix操作系统中,环境变量扮演着至关重要的角色,它们是系统和用户程序之间通信的关键机制。环境变量存储了关于用户环境的信息,如路径、shell类型、语言设置等。本篇文章将深入探讨Unix环境变量编程,旨在帮助你...
各位小伙伴肯定都遇到过拿到一个linux环境发现没有java环境,又需要屁颠屁颠跑去找java安装包配置环境变量的问题吧? 本资源为二狗自己编写的快速定义java环境变量的脚本,可以帮助你剩下不少时间,操作前建议备份/...
通过以上分析,我们可以了解到,在 Linux 系统中正确使用 `su` 命令以及管理好用户的环境变量是非常重要的。同时,确保文件权限正确无误也是系统稳定运行的关键之一。当出现问题时,可以通过修改文件权限或正确使用 ...
下载: 在线下载jmeter(或者本地上传): ... 拷贝到安装目录并解压: $ cp apache-jmeter-3.1.tgz /usr/local/jmeter/ ... 为指定用户配置环境变量,是通过用户目录下的用户配置文件{.bash_profile}
你可以在 Linux 或类 Unix 系统中使用 env 命令设置并打印环境。env 命令可以按命令行指定的变量来修改环境,之后再执行程序。 如何显示当前环境? 打开终端应用程序并输入下面的其中一个命令: ...
下面将详细介绍如何在Linux系统中配置这些环境变量。 #### 一、JDK环境变量配置 JDK是Java开发的基础,正确配置JDK环境变量对于Java应用的正常运行至关重要。以下是在Linux环境下配置JDK环境变量的具体步骤: 1. ...
在 Linux 系统中,配置 Java 环境变量是非常重要的,因为它将影响到 Java 应用的安装、编译和运行。环境变量可以指定命令搜索路径、类搜索路径和 JDK 安装目录等,正确地配置环境变量可以提高开发效率和应用性能。 ...
本文将详细介绍几个常见的Linux环境变量,包括`SHELL`、`LANG`、`PATH`、`MANPATH`、`INPUTRC`、`BASH_ENV`、`DISPLAY`、`COLORTERM`、`USER`、`LOGNAME`、`MAIL`、`HOSTNAME`和`HISTSIZE`等,并通过一个示例文件...
在Linux系统中,设置环境变量是非常常见的一项操作,尤其对于开发者而言,经常需要通过设置环境变量来配置开发环境或者调试工具。 #### 二、环境变量的作用 环境变量主要用于以下几个方面: - **路径管理**:如`...
在 Linux 中,环境变量是一个非常重要的概念,它可以影响用户和操作系统之间的交互方式。 shell 是用户和操作系统之间的命令解释器,负责接受用户输入的命令并将其翻译成操作系统能够理解的指令。 环境变量的设置:...
环境变量 PATH 是 Linux 系统中的一个重要变量,它规定了 shell 在搜索可执行文件时的路径。在 Linux 系统中,我们可以通过修改环境变量 PATH 来添加新的路径,使得 shell 可以搜索到更多的可执行文件。在本文中,...
### LINUX中的环境变量配置详解 在LINUX操作系统中,环境变量是系统运行过程中用来存储配置信息的一种重要方式。对于刚接触LINUX的新手来说,掌握环境变量的配置方法至关重要。本文将详细介绍LINUX环境中环境变量的...
Linux 下配置 JDK 环境变量的三种方法 Linux 下配置 JDK 环境变量的三种方法是非常重要的基本操作,以下将详细介绍这三种方法的实现步骤和注意事项。 一、修改 /etc/profile 文件 这种方法适合于仅仅作为开发使用...
**Bash**(Bourne Again SHell)作为一款强大的Unix/Linux环境下的命令解释器,被广泛应用于各种操作系统中,尤其是Linux发行版的核心组成部分之一。对于初学者而言,《Linux BASH中文手册》提供了一个详尽的学习...
在GNU/Linux操作系统中,环境变量扮演着至关重要的角色,它们为程序提供了运行时所需的信息,如用户目录、可执行文件的查找路径等。环境变量是由一系列键值对组成的,键通常为全大写字母,值则为字符串。这篇文章将...