- 1
- 0
- 约2.08万字
- 约 96页
- 2017-09-19 发布于河南
- 举报
1Shell编程
Shell编程
李子岩
Shell的定义
• Shell是命令解释器
• Shell也是一种程序设计语言,它有变
量,关键字,各种控制语句,有自己的
语法结构,利用shell程序设计语言可以
编写功能很强、代码简短的程序
Shell信息
• cat /etc/shells
• chsh –l
• 查看当前使用的shell
• echo $SEHLL
Shell技巧
• 命令补齐
• 历史命令
• 命令别名
bash 的初始化
• 用户登录Linux时需要执行的几个文件:
/etc/profile - (~/.bash_profile |
~/.bash_login | ~/.profile) - ~/.bashrc -
/etc/bashrc - ~/.bash_logout
• 这些文件为系统的每个用户设置环境信
息
Shell设置文件
• /etc/profile
这是系统最主要的shell设置文件,也是
用户登陆时系统最先检查的文件,有关
重要的环境变量都定义在此,其中包括
PATH,USER,LOGNAME,MAIL,HOSTNA
ME,HISTSIZE,INPUTRC等。而在文件的
最后,它会检查并执行/etc/profile.d/*.sh
的脚本。
~.bash_profile
• 这个文件是每位用户的bash环境设置文
件,它存在与于用户的主目录中,当系
统执行/etc/profile 后,就会接着读取此文
件内的设置值。在此文件中会定义
USERNAME,BASH_ENV和PATH等环境
变量,但是此处的PATH除了包含系统的
$PATH变量外加入用户的“bin” 目录路径.
~.bashrc
• 接下来系统会检查~.bashrc文件,这个文件和
前两个文件(/etc/profile 和~.bash_profile )最
大的不同是,每次执行bash 时,~.bashrc 都会
被再次读取,也就是变量会再次地设置,而
/etc/profile,~./bash_profile只有在登陆时才读
取。就是因为要经常的读取,所以~/.bashrc文
件只定义一些终端机设置以及shell提示符号等
功能,而不是定义环境变量。
~.bash_login
• 如果~.bash_profile文件不存在,则系统会
转而读取~.bash_login这个文件内容。这
是用户的登陆文件,在每次用户登陆系
统时,bash都会读此内容,所以通常都
会将登陆后必须执行的命令放在这个文
件中。
.profile
• 如果~./bash_profile ~./bash_login两个文件
都不存在,则会使用这个文件的设置内
容,其实它的功能与~/.bash_profile相
同。
.bash_logout
• 如果想在注销shell前执行一些工作,都
可以在此文件中设置。
• 例如:#vi ~.bash_logout
– Clear
仅执行一个clear命令在你注销的时候
~.bash_history
• 这个文件会记录用户先前使用的历史命
令。
命令执行顺序
• ;:用;间隔的命令按顺序执行
• :逻辑与
• || :逻辑或
• 优先级
• ;的优先级最低
• 和||具有相同优先级
• 同
原创力文档

文档评论(0)