`

.bash_profile和.bashrc的什么区别

 
阅读更多

每次设置各种变量,一般多在profile中设置,不过偶尔也在bashrc里设置,故想找个具体的说明关于2个的不同点,这里go了几个比较好的文章记录下。

 

转载自:

1: .bash_profile和.bashrc的什么区别

http://linux.chinaunix.net/doc/system/2005-02-03/1084.shtml

 

2:  .bash_profile和.bashrc有什么区别?

http://www.linuxsir.org/bbs/showthread.php?threadid=81147

 

 

 /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该
该文件被读取.
~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
 
~/.bash_profile 是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的
通常二者设置大致相同,所以通常前者会调用后者。

 

 

2.5.1 Initialization Files
Contents

The operating system uses a number of variables which are
essential to make programs run. These so called environment
variables modify the way how the shell behaves. For each
shell there is a number of initialization files, which keep variables
and their values. In the following we go through initialization files
for BASH shell.


2.5.1.1 .bashrc
Contents

The .bashrc is a hidden file which resides in user's home
directory and in which environment variables and aliases are kept.
It determines the behavior of interactive shells. In .bashrc file
we place any shell commands that we want executed every time
we start up a new shell.

The content of .bashrc may be something like the following:


# .bashrc
# User specific aliases and functions
# Source global definitions

if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific environment and startup programs
PATH=$PATH:$ORACLE_HOME/bin:/usr/local/java/bin
CDPATH=$CDPATH:/playgnd/mg/scripts:/~/Scripts


BASH_ENV=$HOME/.bashrc
USERNAME=Ghodrat
HISTSIZE=100

export BASH_ENV USERNAME

#The following setting prohibits file overwriting
set -o noclobber

#The following setting ignores ctrl+ d and does not
#end the session
set -o ignoreeof

#The following setting let's special characters work as
#expected
set +o noglob


## some usefull aliases
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ls='ls -F'



2.5.1.2 .bash_profile File
Contents

The .bash_profile is a hidden file which resides in user's
home directory and defines our processing environment when we
login. The .bash_profile is executed when we login and,
among other details, establishes such things as home directory,
search path, etc.

The content of .bash_profile may look like the following:


# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs
echo "Running .bash_profile..."
date




2.5.1.2 .bash_logout File
Contents

The .bash_logout file is a hidden file which resides in
user'shome directory and is executed when logging out of a linux
system running the BASH shell . This file is usually very short,
and contains commands users want to execute upon leaving the
account. The most popular is the clear command, which clears the
screen.


#Running ~/.bash_logout
echo "Running .bash_logout..."

#USERNAME must have been defined as an environment variable
echo Bye $USERNAME
分享到:
评论

相关推荐

    oracle用户下.bash_profile文件修改

    .bash_profile文件位于用户的主目录下,用于设置环境变量和启动程序。本文档即为在安装Oracle时,对oracle用户下的.bash_profile文件进行修改的具体内容备忘。 首先,我们需要了解.bash_profile文件的作用。该文件...

    浅析linux 下的/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc

    ### 浅析Linux下的/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 在Linux系统中,为了方便管理和配置用户的Shell环境,系统提供了多种不同的配置文件。这些配置文件按照一定的规则来确定何时加载及加载...

    Linux中profile、bashrc、bash_profile之间的区别和联系

    .profile(由Bourne Shell和Korn Shell使用)和.login(由C Shell使用)两个文件是.bash_profile的同义词,目的是为了兼容其它Shell。在Debian中使用.profile文件代 替.bash_profile文件。 2..bashrc文件会在bash shell...

    linux .bash_profile和.bashrc的什么区别

    Linux 中的 .bash_profile 和 .bashrc 的区别 Linux 操作系统中,有两个重要的配置文件:`.bash_profile` 和 `.bashrc`。这两个文件都是 Bash shell 的配置文件,但它们的作用和应用场景却有所不同。本文将详细分析...

    mac 安装omyzsh后不执行~/.bash_profile、~/.bashrc的完美解决办法

    terminal init的时候并不会执行~/.bash_profile、~/.bashrc等脚本了, 这是因为其默认启动执行脚本变为了~/.zshrc。 解决办法就是修改~/.zshrc文件,在其中添加: source ~/.bash_profile、~/.bashrc等脚本文件...

    Linux下环境变量配置方法小结(.bash_profile和.bashrc的区别)

    本文主要探讨了两种主要的环境变量配置方法:通过修改`/etc/profile`文件和修改用户级别的`.bashrc`文件,同时解释了`.bash_profile`和`.bashrc`的区别。 首先,`/etc/profile`文件是全局环境变量配置文件,适用于...

    bashprofile与bashrc.doc

    `bashprofile`和`bashrc`是两个主要的bash shell配置文件,它们定义了用户登录和使用bash shell时的环境。接下来,我们将深入探讨这两个文件的作用、区别以及它们如何协同工作。 1. `/etc/profile` `/etc/profile`...

    profile\bashrc\bash_profile之间的区别和联系

    在Linux系统中,环境变量和命令的设置是通过配置文件来完成的,这些配置文件包括`/etc/profile`, `/etc/bashrc`, `~/.bash_profile`以及`~/.bashrc`。理解它们的区别和联系对于优化用户环境和个性化设置非常重要。 ...

    .bash_profile

    `.bash_profile` 文件是Unix和Linux操作系统环境中个人用户配置的一部分,主要用于设置命令行终端的环境变量、别名以及启动脚本。它是Bourne Again Shell(BASH)的一个初始化文件,当你登录到系统时,它会被执行一...

    ubuntuConfig:包含用于ubuntu别名的.bashrc,.bash_profile,.bash_aliases和.vi​​mrc文件的存储库

    这个"ubuntuConfig"存储库提供了四个核心文件:`.bashrc`、`.bash_profile`、`.bash_aliases`和`.vimrc`,它们对于优化用户的终端体验至关重要。 首先,`.bashrc`是Bash shell的启动配置文件,它定义了命令行界面的...

    bash-full-of-colors:高级.bashrc和.bash_profile以及彩色输出

    `bashrc`和`.bash_profile`是两个非常重要的配置文件,它们直接影响着用户的Bash会话体验。本文将深入探讨这两个文件以及如何通过它们实现彩色输出,让你的Bash终端变得更加丰富多彩。 首先,`.bashrc`文件是每个...

    最新版linux jdk-11.0.11_linux-x64_bin.tar.gz

    4. **激活更改**:保存文件并运行`source ~/.bashrc`或`source ~/.bash_profile`使更改生效。 5. **验证安装**:你可以通过`java -version`和`javac -version`命令检查Java是否正确安装并设置。 使用这个JDK,...

    Install_TW6.1.5.8_Enterprise_Linux.zip

    在用户的.bashrc或.bash_profile文件中添加如下行(将"/path/to/TongWeb"替换为实际路径): ```bash export PATH=$PATH:/path/to/TongWeb/bin ``` 3. **安装TongWeb**:进入TongWeb的安装目录,执行安装脚本:...

    最新版linux jdk-11.0.15.1_linux-x64_bin.tar.gz

    3. **设置环境变量**:修改`~/.bashrc`或`~/.bash_profile`文件,添加`JAVA_HOME`、`PATH`和`CLASSPATH`环境变量。 4. **激活环境变量**:执行`source ~/.bashrc`或`source ~/.bash_profile`使更改生效。 5. **验证...

    最新版linux jdk-11.0.8_linux-x64_bin.tar.gz

    在用户主目录的`.bashrc`或`.bash_profile`文件中添加以下内容: ```bash export JAVA_HOME=/path/to/jdk-11.0.8 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=$JAVA_HOME/lib ``` 别忘了替换`/path/to/jdk-...

    最新版linux jdk-11.0.16.1_linux-x64_bin.tar.gz

    保存文件后,执行`source ~/.bashrc`或`source ~/.bash_profile`使更改生效。 现在,你可以通过`java -version`命令检查Java是否已正确安装。JDK 11引入了一些新的特性,例如: 1. **模块化系统**(Project Jigsaw...

    最新版linux jdk-11.0.15_linux-x64_bin.tar.gz

    在`.bashrc`或`.bash_profile`文件中添加以下行(替换`/path/to/jdk`为实际解压的路径): ```bash export JAVA_HOME=/path/to/jdk export PATH=$JAVA_HOME/bin:$PATH ``` 然后,刷新环境变量: ```bash source ~...

Global site tag (gtag.js) - Google Analytics