Bash最常见的激活模式

发表于:2007-07-04来源:作者:点击数: 标签:
Bash最常见的激活模式是交互式和非交互式: 1.交互式激活 指其标准输入和输出都连接在终端上.又分为三种类型:login,非login,posix以及受限的shell. 确定一个shell是否是交互式的可以通过检测PS1环境变量. (1) 当Bash作为login shell被激活时,它将依次读取并执

  Bash最常见的激活模式是交互式和非交互式:
  1.交互式激活
    指其标准输入和输出都连接在终端上.又分为三种类型:login,非login,posix以及受限的shell.
    确定一个shell是否是交互式的可以通过检测$PS1环境变量.
  (1) 当Bash作为login shell被激活时,它将依次读取并执行以下文件:/etc/profile,~/.bash_profile,~/.bash_login,~/.profile使用--noprofile选项激活Bash可以禁止其读任何初始化文件在退出时执行 ~/.bash_logout 文件
  (2) 当Bash作为非login shell被激活时,它将读取并执行~/.bashrc使用--norc选项激活Bash可以禁止执行任何初始化文件,使用--rcfile file可以指定执行的初始化文件.
  (3) 当Bash作为posix模式被激活时,它将先检查$ENV变量是否定义.若定义,Bash读取并执行有$ENV变量扩展而得到的文件,否则不再执行任何初始化文件。
  (4) 当Bash作为受限模式被激活时,它除了禁止某些操作以外,其他行为于其他模式相同.受限操作有:改变目录,修改$SHELL和$PATH变量,运行exec,以绝对路径运行程序以及使用重定向.Bash 1.x中不包含受限模式.
  2.非交互式激活主要用来运行Shell脚本.启动后,Bash检查$BASH_ENV变量,若定义,这执行该变量指定文件中包含的命令.
  
  Bash 的激活选项
  -c string    该选项表明string中包含了一条命令.如 bash -c ls ~
  -i       使Bash以交互式方式运行
  -r       使Bash以受限方式运行
  --login     使Bash以登录Shell方式运行
  --posix     使Bash遵循POSIX标准
  --verbose    使Bash显示所有其读入的输入行
  --help     打印Bash的使用信息
  --version    打印版本信息
  --noprofile
  --norc
  --rcfile file

原文转自:http://www.ltesting.net