Bourne Shell 及 shell 编程
版权信息
作者 Altmayer.******@altmayer.
文章出处黄嘴企鹅论坛 javalee 转贴
文档制作拒绝正版
作者声明
本文内容为大连理工大学 LINUX 选修课讲义欢迎大家转载但禁止使用本材料进行
任何商业性或赢利性活动转载时请保留本版权声明
作者何斌武 ******@dlut.,大连理工大学网络中心 April 1999.
URL: ftp://./pub/PEOPLE/albin/
源码:
------------------------------------------------------------------------------
Bourne Shell
介绍 Bourne Shell 基础及其他很多有用的特性 shell 编程及组织
主要内容
.shell 基础基本介绍环境选项特殊字符
.shell 变量用户定义变量环境变量位置变量(shell 参数)
.shell script 编程
条件测试循环及重复控制
.shell 定制
基础知识
作者 Stephen Bourne 在 Bell 实验室开发
建议 man sh 查看相关 UNIX 上的改进或特性
(1)shell 提示符及其环境
/etc/passwd 文件
提示符$
/etc/profile $HOME/.profile
(2)shell 执行选项
-n 测试 shell script 语法结构只读取 shell script 但不执行
-x 进入跟踪方式显示所执行的每一条命令用于调度
-a Tag all variables for export
-c "string" 从 strings 中读取命令
-e 非交互方式
-f 关闭 shell 文件名产生功能
1
-h locate and remember functions as defind
-i 交互方式
-k 从环境变量中读取命令的参数
-r 限制方式
-s 从标准输入读取命令
-t 执行命令后退出(shell exits)
-u 在替换中如使用未定义变量为错误
-v verbose,显示 shell 输入行
这些选项可以联合使用但有些显然相互冲突如-e 和-i.
(3)受限制 shell(Restircted Shell)
sh -r 或/bin/rsh
不能执行如下操作 cd, 更改 PATH,指定全路径名输出重定向因此
可以提供一个较
好的控制和安全机制通常 rsh 用于应用型用户及拨号用户这些用户
通常是看不到提
示符的通常受限制用户的主目录是不可写的
不足如果用户可以调用 sh,则 rsh 的限制将不在起作用事实上如果
用户在 vi 及 more
程序中调用 shell,而这时 rsh 的限制将不再起作用
(4)用 set 改变 shell 选项
用户可以在$提示符下用 set 命令来设置或取消 shell 的选项使用-设置
选项+取消相应
选项大多数 UNIX 系统允许 a,e,f,h,k,n,u,v 和 x 的开关设置/取消
set -xv
启动跟踪方式;显示所有的命令及替换同样显示输入
set -tu
关闭在替换时对未定义变量的检查
使用 echo $-显示所有已设置的 shell 选项
(5)
PATH=$PATH:/usr/loacl/bin; export PATH
(6)shell 环境变量
CDPATH 用于 cd 命令的查找路径
HOME /etc/passwd文件中列出的用户主目录
IFS Internal Field Separator,默认为空格 tab 及换行符
2
MAIL /var/mail/$USERNAME mail等程序使用
PATH
PS1 PS2 默认提示符($)及换行提示符(> )
TERM 终端类型常用的有 vt100,ansi,vt200,xterm 等
示例$PS1="test:";export PS1
test: PS1="\$";export PS1
$echo $MAIL
/var/mail/username
(7)保留字符及其含义
$ shell变量名的开始如$v
Bourne Shell及shell编程 来自淘豆网www.taodocs.com转载请标明出处.