LinuxSir.Org  
| 网站首页 | 注册账号 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
精华主题  
主题工具
旧 04-03-27, 23:51 第 1 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

标题: BASH最常见的激活模式


引用:
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
  KornLee 当前离线   回复时引用此帖
旧 05-06-27, 14:14 第 2 帖
vyouzhi
 
vyouzhi 的头像
 
 
注册会员  
  注册日期: Dec 2003
  我的住址: 广东
  帖子: 116
  精华: 2
 

总算找到了
收藏







__________________
生活以财经为主 - http://www.bowenye.com
  vyouzhi 当前离线   回复时引用此帖
旧 05-06-29, 02:47 第 3 帖
ruiqingzheng
 
 
 
注册会员  
  注册日期: Feb 2005
  帖子: 8
  精华: 0
 

好贴~!!!


##########################
shell programming qq 群 5323355 希望热爱shell编程的朋友加入 一起学习 讨论
  ruiqingzheng 当前离线   回复时引用此帖
旧 05-06-29, 22:32 第 4 帖
redspider
 
redspider 的头像
 
 
注册会员  
  注册日期: Dec 2002
  我的住址: China
  帖子: 994
  精华: 0
 

yeah







__________________
linux! so strong!
  redspider 当前离线   回复时引用此帖
旧 07-06-20, 02:15 第 5 帖
iveney 帅哥
 
iveney 的头像
 
 
注册会员  
  注册日期: Mar 2006
  我的住址: 韶关<->广州
  帖子: 563
  精华: 0
 

翻出一篇老文……不过总算让我明白
interactive shell/non-interactive shell
login shell,non-login shell之间的关系了……

不过弱弱地问,

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







__________________
HK的网络就是爽

-----------------------------------
ACER TravelMate 3273WXMi
Intel Core 2 Duo T5500(1.66G)
NVDIA GeForce Go 7300,128M static + 128M dynamic,official driver
120GB HDD
1G+512 DDR2 RAM
802.11 a/b/g ipw3945
  iveney 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 12:26


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2010, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2009, LinuxSir.Org