Solaris技术指南:Shell脚本详解
需积分: 5 99 浏览量
更新于2024-06-13
收藏 871KB PDF 举报
"solaris技术指南017.PDF"
在Solaris操作系统中,了解不同的Shell语法和特性对于系统管理和脚本编写至关重要。本指南的第17章提供了关于Bourne Shell、Korn Shell(ksh)和C Shell(csh)的重要信息,包括它们的环境文件、脚本首行、特定运算符以及变量修饰符。
17.1 参照表和例子脚本
本章节提供了一个综合性的参照表,详细列出了三种Shell——Bourne Shell、Korn Shell和C Shell的语法元素和功能差异。此外,还给出了各种shell脚本的实例,帮助读者更好地理解和应用这些知识。
17.1.1 环境文件
- Bourne Shell 使用 `.profile` 和 `.login` 文件来读取用户环境设置。在启动shell时,`.profile` 中声明的 `ENV` 变量可以指向另一个包含更多配置的文件,通常是 `.cshrc`。
- Korn Shell 同样使用 `.profile` 和 `.login`,但没有在启动时读取 `.cshrc` 的行为。
- C Shell 使用 `.cshrc` 文件,且在登录时读取 `.login`。
17.1.2 脚本的首行
- Bourne Shell 脚本通常以 `#!/bin/sh` 开始,指示解释器使用 `/bin/sh` 来执行脚本。
- Korn Shell 脚本使用 `#!/bin/ksh`,指定使用 Korn Shell。
- C Shell 脚本则采用 `#!/bin/csh -f`,其中 `-f` 参数表示不加载个人配置文件。
17.1.3 Kornshell的目录运算符
Korn Shell 提供了特殊的变量操作符用于处理字符串:
- `${variable#pattern}`:删除变量值开头与 `pattern` 匹配的最短部分。
- `${variable##pattern}`:删除变量值开头与 `pattern` 匹配的最长部分。
- `${variable%pattern}`:删除变量值末尾与 `pattern` 匹配的最短部分。
- `${variable%%pattern}`:删除变量值末尾与 `pattern` 匹配的最长部分。
17.1.4 Cshell中的变量修改符
C Shell 提供了不同的变量修改符来处理变量值:
- `:e`:删除以点号(`.`)结尾的部分。
- `:h`:删除变量值的最后一个文件名部分(通常是扩展名)。
- `:r`:删除以点号开始的后缀(扩展名)。
- `:t`:删除变量值中的目录路径部分。
- `:q`:对变量进行引用,防止空格、制表符或换行符导致的解析问题。
- `:x`:类似于 `:q`,但在遇到空格、制表符或新行时会产生一个词。
17.1.5 由shell初始化的变量
- `$*` 在Bourne Shell或Kornshell中,用于获取命令行的所有参数值,但在脚本中使用,因为它会将参数视为单个字符串。Cshell中不用 `$*`,而是使用 `$argv`。
- `$#` 在Bourne Shell或Kornshell中,表示命令行参数的数量。同样只在脚本中有效。
通过深入理解这些特性,系统管理员和脚本编写者能够更有效地利用Solaris的shell环境,创建高效、可维护的自动化任务。学习并熟练掌握这些知识对于在Solaris环境中工作的人来说是至关重要的。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-04-14 上传
2024-04-14 上传
2024-04-14 上传
2024-04-14 上传
2024-04-14 上传
yybbccddtt
- 粉丝: 1
- 资源: 537