深入了解 Dash 和 zsh 两种 Shell
1. Ubuntu 系统中的 Dash 外壳问题
在 Ubuntu 系统里,默认的系统外壳是 Dash 外壳。这可能会引发一些问题,因为每个外壳脚本都需在首行声明所使用的外壳。在 Bash 脚本中,通常使用 #!/bin/bash 来指定使用 /bin/bash 执行脚本。在 Unix 环境中,默认外壳一般位于 /bin/sh ,很多熟悉 Unix 的脚本程序员会在 Linux 脚本里使用 #!/bin/sh 。
在多数 Linux 发行版中, /bin/sh 文件是指向 /bin/bash 的符号链接,这能让为 Unix Bourne 外壳设计的脚本轻松移植到 Linux 环境。然而,Ubuntu 系统将 /bin/sh 文件链接到 /bin/dash 外壳程序。由于 Dash 外壳仅包含原始 Bourne 外壳部分命令,这可能致使部分脚本无法正常运行。
2. Dash 外壳的特性
2.1 Dash 命令行参数
Dash 外壳借助命令行参数来控制自身行为,具体参数如下表所示:
| 参数 | 描述 |
| — | — |
| -a | 导出所有分配给外壳的变量 |
| -c | 从指定的命令字符串读取命令 |
| -e | 若处于非交互模式,任何未测试的命令失败时立即退出 |
| -f |
超级会员免费看
订阅专栏 解锁全文
4万+

被折叠的 条评论
为什么被折叠?



