POSIX shell 脚本和性能调整

POSIX shell 脚本和性能调整

如今,我正在研究 shell 脚本的性能调优,并且我已经被阻止使用 POSIX shell 脚本,但这只是一个标准,但我认为它比标准更难实现。它经过定制,经过调优,最终赢得了高性能。我认为你可以帮助我/我们创建一个线程来帮助 POSIX shell 脚本编写。我的问题是:

  1. POSIX shell 脚本与其他 shell 编程相比是否具有高性能?
  2. 如何迁移到 POSIX shell 脚本?
  3. 不可能只将我的代码暴露给 POSIX 吗?
  4. 如果您更喜欢不使用 POSIX 的高性能,您能说明一下吗?

答案1

问题

当学生在使用 bash 的系统(例如 /bin/sh)上进行初始开发时,他们的脚本经常会遇到可移植性问题。虽然 bash 支持 POSIX 标准中的所有功能,但它还支持 POSIX 未定义的广泛扩展功能。当编写脚本使用此类“bashisms”时,当 /bin/sh 是其他一些符合 POSIX 标准的 shell 时,不能保证该脚本能够正确运行。在 Ubuntu 系统 Nice.harvard.edu 上,/bin/sh 是 dash,这是一个运行速度比 bash 快得多的 shell,但不支持超出 POSIX 标准指定的功能。在脚本中使用过“bashisms”的学生经常在最后一刻发现他们的脚本无法在nice 上的/bin/sh 下运行。

解决方案

以下是一些可以帮助您避免此类问题的提示:

  • 如果可能的话,总是使用 /bin/sh 在 Nice 上开发脚本
  • 在您的个人系统上安装严格的 POSIX shell(例如 dash)以用于开发目的
  • 只使用指定的功能这里开发 shell 脚本时
  • 看法这个文件获取有关识别和替换“bashisms”的提示
  • 查看autoconf的完整文档('info autoconf.info'),它有一个很好的关于“便携式 Shell”编程的部分

了解更多信息。

相关内容