Bourne Shell基础与编程实用技巧

需积分: 9 3 下载量 172 浏览量 更新于2024-09-10 收藏 15KB TXT 举报
本讲义主要介绍了Bourne Shell,这是一种在Unix和类Unix系统中广泛使用的命令行解释器。Bourne Shell由Stephen Bourne和Bill Joy共同开发,是早期Unix系统中的基础shell,它为后续的shell脚本提供了坚实的基础。以下是关于Bourne Shell的核心知识点: 1. **基础概念**: - Bourne Shell 是一种命令行接口,用户可以通过它来执行系统命令、管理文件以及控制程序的运行。 - 它是Unix环境中最初的shell之一,后续的bash、zsh等都是在此基础上发展起来的。 2. **环境变量与设置**: - `/etc/passwd` 文件包含了用户账户的基本信息,如shell路径,用于确定用户的默认shell。 - `~/.profile` 和 `/etc/profile` 是用户启动时自动执行的初始化文件,用于设置环境变量和配置。 - `set` 命令用于查看和修改shell选项,如`-a` 显示所有可导出的变量,`-e` 在命令失败时退出,`-i` 启用交互模式。 3. **安全性与限制**: - `Restricted Shell`(受限壳)是一种安全模式,如rsh,它限制了对特定命令和目录的访问,防止恶意操作。 - 通过`-r` 参数,可以启用这种受限模式,只允许基本的操作,如`cd` 和使用PATH。 4. **shell脚本执行**: - `-n` 参数用于测试shell脚本但不执行,仅显示命令行。 - `-c` 参数用于执行单个命令字符串。 - `-x` 参数使脚本中的每个命令都显示其完整路径,便于调试。 5. **输入/输出处理**: - `-k` 搜索并记住函数定义,类似`find`。 - `-t` 参数用于获取命令执行时间,当shell退出时,显示命令的运行时间。 6. **环境变量管理**: - `PATH` 变量指定系统查找可执行文件的搜索路径,通过`export` 命令使其生效。 - `CDPATH` 用于快速切换目录,简化`cd` 命令的使用。 - `IFS` 内部字段分隔符,影响字符串处理。 7. **提示符和定制**: - `PS1` 和 `PS2` 控制命令提示符和续行提示,允许用户自定义显示信息。 - 示例中设置了`PS1` 为`test:`,并将其导出以便于应用。 8. **邮件变量**: - `MAIL` 变量存储用户的邮件路径,默认指向`/var/mail/$USER`。 Bourne Shell是一个强大且灵活的工具,它的基础概念、环境变量管理和脚本执行等功能为现代shell编程奠定了基础。熟练掌握Bourne Shell对于理解和使用更高级的shell或bash等其他shell类型至关重要。