Unix&Linux笔记(5)

来源:互联网 发布:世界大数据学校排名 编辑:程序博客网 时间:2024/05/16 12:20

第14章 使用shell:初始化文件

14.1 初始化文件和注销文件

初始化文件(initialization)
.
登录文件(login file)
每次登录时自动执行的命令
环境文件(environment file)
新shell中自动执行的命令
注销文件(logout file)
注销时自动运行的命令

文件名称

shell 登录文件 环境文件 注销文件 Bash(默认) .bash_profile/.bash_login `.bash_rc .bash_logout` Bash(POSIX) .profile $ENV .bash_logout Tcsh .login .tcshrc/.cshrc .logout

14.2 初始化文件和注销文件的名称

POSIX标准要求shell应该支持登录文件和环境文件,但是没有必要支持注销文件。登录文件的名称应该是.profile。但是为了保持灵活性,环境文件的名称没有固定,而是采取在名为ENV的环境变量中存放环境文件的名称的方法。

POSIX模式运行BashBash –posix


14.3 点文件和rc文件

vi —— .exrc

rc文件
run command (CTSS,MIT,1963)

14.4 使用简单的文本编辑器

基于GUIkeditgedit
基于文本:Nano(Pico)


14.5 登录shell和非登录shell

交互式shell的两种
1. 虚拟控制台(登录shell)和终端窗口(非登录shell
2. 启动的新shell(非登录shell
3. 使用SSH(登录shell


14.6 何时执行初始化文件

两条通用原则:
1. 登录shell执行登录文件和环境文件
2. 非登录shell只执行环境文件

Bash(默认模式)
- 登录shell.bash_profile
- 非登录shell.bashrc

BashPOSIX模式)
- 登录shell.profile
- 非登录shell$ENV

只有Bash的登录shell执行登录文件,而不执行环境文件。这意味着Bash用户为了强制执行环境文件。必须在登录文件中放置一条特殊的命令。
C-shell家族,登录shell先执行环境文件。


14.7 shell初始化文件的历史简介

Mashey shell添加.profile
Bill Joy通过两个文件替代一个文件。第一个文件是.cshrc,每次有新shell启动时都运行。第二个文件是.login,只在登录shell启动时运行。.login.csdhrc之后执行才有意义,因为他的工作就是运行那些在登录时需要的额外命令。

Korn让用户自己选择环境文件的名称,即将ENV变量设置成环境文件的名称。


14.8 初始化文件中放置什么内容

登录文件有两项任务:设置环境及初始化工作会话。登录文件中应包含下述命令:

1. 创建或修改环境变量的命令
2. 执行所有一次性操作的命令。在环境文件中设置环境变量并没有意义,环境文件中设置的变量在新shell启动时将被复位。环境文件有一项特殊的任务:设置不能在环境中保存的自定义项,特别是shell选项、别名和函数。


14.9 显示、创建及编辑初始化文件

14.10 shell脚本注释

14.11 Bourne shell家族:初始化文件示例

登录文件示例

#============================================================#Bourne Shell family: Samlpe login file#============================================================#1.Environment variables#2.Shell prompt – Bashexport PS1=”(\w) `bashname${SHELL}`[\!]$”export PAGER=less#3.File creation maskunmask 007#4.Terminal settings(for remote host only)sty erase ^H#5.Display welcome messageecho “welcome!”#6.Syatem informationecho “Last three logins:”;last `logname` | head -3echo#7.Environment file – Bashif [-f ${HOME}/.bashrc]then source ${HOME}/.bashrcfi#8.Logout file – Korn Shelltrap ‘.${HOME}/.logout;exit’ EXIT

环境文件示例

#=======================================================#Bourne Shell family : Sample environment file#========================================================#1.Shell optionsset –o ignoreeofset –o emacsset –o noclobbers#2.Aliasesalias la=’ls -a’alias ll=’ls -l’#3.Functions

14.12 C-shell家族:初始化文件示例

0 0
原创粉丝点击