LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4587|回复: 4

BASH最常见的激活模式

[复制链接]
发表于 2004-3-27 23:51:55 | 显示全部楼层 |阅读模式
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
发表于 2005-6-27 14:14:07 | 显示全部楼层
总算找到了
收藏
回复 支持 反对

使用道具 举报

发表于 2005-6-29 02:47:46 | 显示全部楼层
好贴~!!!


##########################
shell programming    qq 群  5323355  希望热爱shell编程的朋友加入 一起学习 讨论
回复 支持 反对

使用道具 举报

发表于 2005-6-29 22:32:54 | 显示全部楼层
yeah
回复 支持 反对

使用道具 举报

发表于 2007-6-20 02:15:22 | 显示全部楼层
翻出一篇老文……不过总算让我明白
interactive shell/non-interactive shell
login shell,non-login shell之间的关系了……

不过弱弱地问,

1. login shell,non-login shell之间的区别就只有读取的初始化文件不同么?
2. 非交互式shell就是指我们平时执行脚本时新启动的一个shell么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表