Chinaunix首页 | 论坛 | 博客
  • 博客访问: 688381
  • 博文数量: 34
  • 博客积分: 4020
  • 博客等级: 上校
  • 技术积分: 367
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-05 16:22
文章分类

全部博文(34)

文章存档

2010年(1)

2009年(16)

2008年(9)

2007年(8)

我的朋友

分类: LINUX

2008-07-24 17:50:49

一、shell的启动方式
  根据shell的启动方式不同,分为登录shell、交互shell和非交互shell,不同方式启动的shell初始化过程是不同的。
  1.登录shell(login shell)
  当我们输入用户名和密码登录到系统后,所呈现给我们的就是一个登录shell。更确切的说,如果启动bash对话的命令行第0个参数的首字符是"-"的话,那么这是一个登录shell;
  可以通过如果命令看到
    $> ps -f
  还有一种是带有"--login"选项启动的bash对话是一个登录shell。
    $> bash --login
  
  2.交互shell(interactive shell)
  带有"-i"选项启动的bash对话是一个交互shell。如:
    $> bash -i
  或者以非选项参数开始,并且不包含"-c"选项启动的bash对话,且它的标准输入和标准出错都是连接到终端的,那么这也是一个交互shell。
    $> bash

  3.非交互shell
  用于启行一个脚本的shell是非交互shell
    $> bash my.sh

二、登录shell的初始化文件
  /etc/profile;
  ~/.bash_profile、~/.bash_login和~/.profile三个最先找到的那个;
  ~/.bash_logout,shell退出时执行。
三、交互shell的初始化
  /etc/bash.bashrc
  ~/.bashrc
四、非交互shell的初始化
  环境变量"BASH_ENV"代表的文件。
阅读(2447) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~