作者:Antiy7
修改:风雨者
04Shell的使用:
本章目标:
了解shell的发展过程和用途
掌握shell变量的设置和使用
掌握bash的基本操作方式
掌握简单的shell脚本编辑方法
shell的环境:
Shell程序充当了一个命令解释器的角色。
Shell的发展和分类:
Bsh―――20世纪70年代中期―――新泽西的AT&T贝尔实验室
Csh―――20世纪80年代早期―――加利福尼亚――C语言风格
Ksh―――AT&T贝尔实验室―――结合了bsh和csh的功能优势。
Bash――-Bash是Bsh的升级替代产品,在目前大多数linux的发行版本都使用Bash作为默认
的shell,运行shell程序时,系统实际上运行的是Bash程序。
1、RHEL4中提供的Shell
/etc/shells 这个文件夹中记录了当前linux系统中能够使用的所有shell。
Example:
$ cat /etc/shells
$ ls –l `cat /etc/shells ` 详细显示shell文件夹内容。
2、shell程序的切换
3、用户默认shell的设定与shell的修改
$ cat /etc/passwd 使用vi编辑器对用户默认shell的修改。
例:
$ grep teacher /etc/passwd 察看teacher用户在passwd中的信息。
teacher:x:500:500:---------------/bin/bash /bin/bash是启动时的默认shell。
$ chsh 修改shell命令。
passwd: 输入管理员密码。
new shell[etc/bash]:/bin/bsh 输入需要修改的shell。
chsh命令是通过修改passwd文件中的用户登录shell字段来实现用户登录shell更改的。可以通过vi
编辑器来进行快速修改。(vi编辑器的使用详见第3章)
Bash的主要功能:
SHELL变量:
×环境变量
×预定义变量
×位置变量
×用户自定义变量
环境变量:
1、查看环境变量:
环境变量是用户登录时linux为用户预先设定好的一类shell变量。
$ set 察看环境变量。
$ set | head -3 察看前3行内容。
$ set | tail -3 察看后3行内容。
$ set | more 分页察看内容。
2、常用环境变量介绍:
$scho $USER 显示用户名。
$scho $UID 显示用户的uid。
$scho $SHELL 显示当前用户登录的shell。
$scho $HOME 显示当前用户的宿主目录。
$scho $PWD 显示用户当前所在的目录。
$scho $PATH 显示用户的命令搜索路径。
$scho $PS1 显示用户的主提示符。
$scho $PS2 显示用户当前的辅助提示符。
3、全局环境变量配置文件
$ ls –l /etc/bashrc /etc/profile
/etc/profile 文件负责设置全局的环境变量,并应用于所有的用户登陆shell。
/etc/bashrc 文件用于定义全局的函数和别名,文件的内容除了为系统中所有登录用户
提供设置外,也适用于非交互shell和非登陆shell。
4. 用户环境变量配置文件
/用户宿主目录/.bash_profile和.bashrc
用户变量配置文件位于用户的宿主目录中,文件名是:.bash_profile和.bashrc
用户可以通过修改这两个文件来更改自己的环境变量。
/etc/skel 目录中保存了初始的用户配置文件模板,当用户对自己的配置文件进行了
错误的设置后,可以直接将/etc/skel目录中的模板文件复制到用户目录,
从而恢复到正确的初始配置。
