Chinaunix首页 | 论坛 | 博客
  • 博客访问: 912959
  • 博文数量: 132
  • 博客积分: 9976
  • 博客等级: 中将
  • 技术积分: 1781
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-30 20:40
文章分类

全部博文(132)

文章存档

2013年(1)

2011年(1)

2010年(15)

2009年(77)

2008年(36)

2007年(2)

我的朋友

分类: LINUX

2009-08-11 20:27:08

.bashrc 和 .bash_profile 区别
 
from:
----------------------------------------------------------------
 

发表新主题 回复
精华主题  
旧 03-12-25, 21:38
 
 
 
注册会员 
  注册日期: Dec 2003
  帖子: 28
  : 1
 

标题: .bash_profile和.bashrc有什么区别?


偶知道.bash_profile的作用,但是不清楚.bashrc有何作用?
它们之间又有什么联系?
  bnfan 当前离线   回复时引用此帖
旧 03-12-25, 22:15
 
 
 
★☆★☆★☆★ 
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  : 61
 

一个是针对全局配置文件,一个针对某一个用户的配置文件!一个系统的profile文件是相同的,而多个用户的.bashrc不一定相同!
  KornLee 当前离线   回复时引用此帖
旧 03-12-26, 12:00
 
 
 
★☆★☆★☆★ 
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  : 61
 

标题: 附


几个bash配置文件的说明:
引用:
/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中的变量,他们是"父子"关系.
欢迎讨论~~

此帖于 03-12-26 12:11 被 KornLee 编辑.
  KornLee 当前离线   回复时引用此帖
旧 03-12-28, 12:16
 
 
 
注册会员 
  注册日期: Oct 2002
  我的住址: 北京
  帖子: 122
  精华: 0
 

~/.bash_profile 是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的
通常二者设置大致相同,所以通常前者会调用后者。







__________________
道虽迩,不行不至;
事虽小,不为不成。
---荀子
  gnawux 当前离线   回复时引用此帖
旧 04-11-25, 03:30
帅哥
 
 
 
注册会员 
  注册日期: Oct 2003
  我的住址: Vaasa, Finland
  帖子: 88
  : 2
 

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







__________________
天空给你,云朵给我
羽毛给你,微风给我
回忆给你,眼泪给我
既然选择了远方
就只顾风雨兼程
  cisco 当前离线   回复时引用此帖
旧 05-06-27, 14:06
 
 
 
注册会员 
  注册日期: Dec 2003
  我的住址: 广东
  帖子: 116
  : 2
 

想问一下
是谁先开始启动bash的
因为我在做linux-cd时
别的都做好了
但当去到(none)login:
时,无论我输入什么
都进不了系统
我听说是getty先启动login,之后login 启动bash的
不知是否对
望指教







__________________
生活以财经为主 -
  vyouzhi 当前离线   回复时引用此帖
阅读(963) | 评论(0) | 转发(0) |
0

上一篇:Linux Kernel OOPS

下一篇:DVS357 error log

给主人留下些什么吧!~~