Chinaunix首页 | 论坛 | 博客
  • 博客访问: 72922
  • 博文数量: 64
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 390
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-19 11:12
文章分类

全部博文(64)

文章存档

2013年(65)

我的朋友

分类: LINUX

2013-02-28 11:53:06

原文地址:.bash_profile 和 .bashrc 区别 作者:zzjlzx

.bash_profile 和 .bashrc 区别
分类: IBM AIX Linux 758人阅读 评论(0) 举报

 

安装Oracle 11gRAC 的时候,文档上配置的是.bashrc参数。之前配置的都是.bash_profile 参数。

从网上搜索了一下,他们的区别。 如下:

 

 /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.

 

/etc/bashrc: 为每一个运行bash shell的用户执行此文件.bash shell被打开时,该文件被读取.

 

~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次! 默认情况下,他设置一些环境变量,执行用户的.bashrc文件.

 

~/.bashrc: 该文件包含专用于你的bash shellbash信息,当登录时以及每次打开新的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

 

 

 

 

阅读(209) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~