深入了解 Dash 和 Zsh 脚本编程
在 shell 脚本编程的世界里,不同的 shell 有着各自独特的特性和功能。Dash 和 Zsh 就是其中比较有代表性的两种,下面我们就来详细了解一下它们的脚本编程相关知识。
Dash 脚本编程
在使用 Dash shell 时,需要注意它并不能识别 Bash shell 的所有脚本特性。为 Bash 环境编写的脚本在 Dash shell 中运行时常常会失败,这给脚本程序员带来了不少困扰。
创建 Dash 脚本
创建 Dash 脚本与创建 Bash 脚本非常相似。为了确保脚本能在正确的 shell 中运行,需要在脚本的第一行指定要使用的 shell:
#!/bin/dash也可以在这一行指定 shell 命令行参数。
不兼容的特性
由于 Dash shell 只是 Bourne shell 特性的一个子集,Bash shell 脚本中的一些特性在 Dash shell 中无法使用,这些通常被称为 “bashisms”。
-算术运算:在 Bash 脚本中有三种表达数学运算的方式:
- 使用expr命令:expr operation
- 使用方括号:$[ operation ]
- 使用双括号:$(( operation ))
Dash