BourneShell与Shell编程基础教程
需积分: 18 90 浏览量
更新于2024-07-28
收藏 563KB PDF 举报
"这篇文档是关于BourneShell和shell编程的教程,由大连理工大学的何斌武编写,强调了shell的基础、环境设置、选项、特殊字符、变量、脚本编程、条件测试、循环控制以及shell的定制。文档还提到了shell提示符、执行选项、受限shell(Restricted Shell)等概念,并提供了相关的UNIX命令使用建议。"
正文:
BourneShell,通常简称为sh,是由Stephen Bourne在贝尔实验室开发的一种Unix shell。它是许多其他shell的基础,包括流行的Bash(Bourne-Again SHell)。BourneShell提供了丰富的命令解释和脚本编程功能,使得用户能够创建自动化任务和系统管理脚本。
**shell基础**:
- **基本介绍**:shell作为用户与操作系统内核之间的接口,允许用户执行命令、编写脚本并控制操作系统。
- **环境**:shell的环境包含一系列的变量,如`$HOME`表示用户的主目录,`$PATH`指示可执行文件的搜索路径。
- **选项**:shell启动时可以接受各种选项,例如`-n`用于检查脚本的语法,`-x`开启命令行追踪,`-i`则表示交互式模式。
**特殊字符**:
- 特殊字符如`$`, `#`, `&`, `;`, `|`, `<`, `>`等在shell中具有特定含义,例如`$`用于引用变量,`#`用于注释,`&`用于后台执行,`|`用于管道连接命令。
**shell变量**:
- **用户定义变量**:用户可以自由定义变量,如`myvar=value`。
- **环境变量**:对所有子进程可见的变量,如`PATH`,可以通过`export`命令使变量变为环境变量。
- **位置变量(shell参数)**:`$0`表示脚本本身的名字,`$1`, `$2`, ... 代表脚本接收的参数。
**shell脚本编程**:
- 脚本可以包含一系列命令和控制结构,如条件测试(`if`语句)、循环(`for`, `while`)以及函数定义。
- 条件测试允许基于不同条件执行不同的命令或代码块,例如`[ expression ]`或`[[ expression ]]`。
- 循环结构用于重复执行一组命令,`for`循环常用于遍历列表,`while`循环则根据条件持续执行。
**shell定制**:
- 用户可以通过修改`~/.bashrc`或`~/.bash_profile`文件来定制shell的行为,比如设置别名、自定义函数、环境变量等。
- 受限制的shell(`sh -r`或`/bin/rsh`)限制了一些功能,比如禁止改变当前目录、修改PATH或进行重定向,以增加安全性。
此外,文档还提醒读者,shell的选项可以组合使用,但某些选项可能相互冲突,比如`-e`(错误终止)和`-i`(交互模式)。理解并熟练运用这些概念对于任何Linux或Unix用户来说都是至关重要的,尤其是系统管理员和脚本编写者,他们可以利用shell的强大功能实现自动化任务,提高工作效率。
153 浏览量
2016-10-17 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
![](https://profile-avatar.csdnimg.cn/5fcd43381a834498b717e231fe8a7395_fancw.jpg!1)
fancw
- 粉丝: 14
- 资源: 23
最新资源
- 构建Cadence PSpice仿真模型库教程
- VMware 10.0安装指南:步骤详解与网络、文件共享解决方案
- 中国互联网20周年必读:影响行业的100本经典书籍
- SQL Server 2000 Analysis Services的经典MDX查询示例
- VC6.0 MFC操作Excel教程:亲测Win7下的应用与保存技巧
- 使用Python NetworkX处理网络图
- 科技驱动:计算机控制技术的革新与应用
- MF-1型机器人硬件与robobasic编程详解
- ADC性能指标解析:超越位数、SNR和谐波
- 通用示波器改造为逻辑分析仪:0-1字符显示与电路设计
- C++实现TCP控制台客户端
- SOA架构下ESB在卷烟厂的信息整合与决策支持
- 三维人脸识别:技术进展与应用解析
- 单张人脸图像的眼镜边框自动去除方法
- C语言绘制图形:余弦曲线与正弦函数示例
- Matlab 文件操作入门:fopen、fclose、fprintf、fscanf 等函数使用详解