获取 Bourne shell 的搜索结果

pgr*_*pgr 4 shell shell-script bourne-shell

所以,Linux中有很多类型的shell...

Linux 中不同类型的 Shell

Bourne Shell (sh) ...
GNU Bourne-Again Shell (bash) ...
C Shell (csh) ...
Korn Shell (ksh) ...
Z Shell (zsh)

我有一个项目,我必须为 Bourne shell 编写一个脚本,从 shebang 开始#!/bin/sh

但是每当我使用谷歌了解一些细节时,我总是得到大量的结果bash,我怀疑可以与 一起使用sh,但并不总是......

所以我想告诉谷歌,“不!只提供原始 Bourne shell 的东西!”。但是人们不会在他们的大多数网页中输入字符串“Bourne shell”,因此 Google 无法直接帮助我。

添加"sh"到我的搜索查询没有多大帮助,它匹配.sh文件扩展名,并且匹配bash!

添加"#!/bin/sh"到我的搜索查询有些帮助 - 但我只会在脚本中看到结果,有时简单的 anws 会显示为终端命令(然后我们可以调整以在脚本中使用)。

我知道不会有任何“银弹”完美的解决方案,但是本着“提示和技巧”的精神,你们中的任何人会建议像我打算的那样聪明的方法来缩小我的结果吗?

或者是使用少数权威 Bourne shell 文档来源的唯一解决方案?如果有,是哪些?

Kus*_*nda 10

您很可能实际上对历史悠久的 Bourne shell(在大多数当前的 UNIX 系统上并不常见)并不感兴趣,而是对实现当前 POSIX 规范shshell感兴趣。

也可以看看:

  • 目前接受的 U&L 问题答案“sh 兼容”是什么意思?非常详细地描述了 Unix shell 的历史和“血统”。

  • man sh您正在使用的系统上的命令将向您显示sh该系统上 shell的手册。这将是一个实现 POSIX 语法和语法的 shell,可能是通过更改 shell在使用自己的名称调用时通常的行为方式(例如bashzsh当调用 as 时的行为sh)。


Ark*_*zyk 5

根据我的经验,如果您正在寻求有关如何使用#!/bin/shshell执行给定操作的帮助,您可以在您的 Google 查询之前添加以下内容之一:

  • POSIX - 它将引导您讨论在 POSIX 兼容的 shell 中或以 POSIX 兼容的方式在实现更多 POSIX 不需要的功能(如 Bash)的 shell 中实现给定功能。(通常你会在https://unix.stackexchange.com结束 )

  • dash - dash 是 /bin/sh Ubuntu,它是最流行的桌面 Linux 发行版。它由 cron 和其他使用 /bin/sh 运行命令的工具使用,因此已经提出并回答了许多问题

  • busybox - busybox 带有自己的 shell,它不像 Bash 或 ZSH 那样庞大,所以如果在 busybox shell 中可以使用某些东西,它也应该与您本地的极简主义 /bin/sh 一起使用,无论它是什么。