脚本转换与编程练习全解析
1. DOS 批处理文件转换为 Shell 脚本
很多程序员最初是在运行 DOS 的 PC 上学习脚本编写的。尽管 DOS 批处理文件语言功能有限,但仍能编写一些相当强大的脚本和应用程序,不过往往需要大量的拼凑和变通方法。偶尔,还是会有将旧的 DOS 批处理文件转换为 UNIX Shell 脚本的需求。一般来说,这并不困难,因为 DOS 批处理文件的操作符只是等效 Shell 脚本操作符的一个有限子集。
以下是一些常见的批处理文件关键字、变量、操作符及其对应的 Shell 脚本等效项:
| 批处理文件操作符 | Shell 脚本等效项 | 含义 |
| — | — | — |
| % | $ | 命令行参数前缀 |
| / | - | 命令选项标志 |
| \ | / | 目录路径分隔符 |
| == | = | (等于)字符串比较测试 |
|!==! | != | (不等于)字符串比较测试 |
| | | | | 管道 |
| @ | set +v | 不回显当前命令 |
| * | * | 文件名“通配符” |
| > | > | 文件重定向(覆盖) |
| >> | >> | 文件重定向(追加) |
| < | < | 重定向标准输入 |
| %VAR% | $VAR | 环境变量 |
| REM | # | 注释 |
| NOT |! | 否定后续测试 |
| NUL | /dev/null | 用于掩埋命令输出的“黑洞” |
| ECHO