如何指定Bourne shell(不是sh)

时间:2015-10-05 10:35:35

标签: bash shell unix scripting sh

我正在编写一个脚本,我希望它从Bourne shell开始。据我所知,用以下代码启动脚本:

sizeof

并不总是指定Bourne shell,但无论操作系统链接到/ bin / sh。有没有办法明确指定Bourne?

谢谢!

3 个答案:

答案 0 :(得分:4)

最初的Bourne Shell不是开源的,所以如果您还没有它,那么您就是SOL。

如果您已经拥有它,只需将该位置放在shebang中。

这很简单。

答案 1 :(得分:2)

<块引用>

在第一行放置一个冒号 (:)。我在旧系统上使用它 (A/UX, SCO Unix, Interactive Unix System V Release 3.2 SVR3, 大约 1989 年,我想到了)作为文件中的第一个字符来表示 Bourne Shell 脚本。它也得到了 Thompson Toolkit 的 Korn 的认可 外壳(DOS > v3.2 )。允许 Unix 程序员在 PC环境(DOS/WindowsNT)。

是的,我老了。 Unix 程序员永远不会死,他们只是变成了僵尸进程。

答案 2 :(得分:0)

取决于你的意思&#34; Borne Shell&#34;。

  1. 原始的Borne Shell,我相信这不是你的追求:   
          
    • 专有,非常有限,仅在某些真正的UNIX上可用        系统,例如Solaris,源自原始的AT&amp; T UNIX代码。     
    • / bin / sh是获取此非便携式shell的方法。     
    • 它能够运行真正的遗留脚本,并且它很小,         关于它在我心中的唯一资产。         今天的记忆力使得大小资产的吸引力降低。   
  2. 基于Borne shell语法的现代shell。相反,比如csh。   
          
    • bash,ksh,zsh是一些。 Bash在Linux环境中很常见,是的,/ bin / sh往往链接到其中一个。     
    • 要使用特定的shell,请使用类似的$ SHELL        得到一条绝对的道路。     
    • #!/ bin / env bash 减少对路径混乱的依赖        发现在不同的操作系统中。        但这种便携式技巧有选择的风险        如果PATH没有设置得足够好,那么错误的shell        不允许shell上的参数,例如-x。        它有优势        PATH能够控制你使用的几个shell中的哪一个        可以使用相同shell的不同版本        ksh非常着名。   

因此,如果您需要更多帮助,您将需要详细说明您所使用的应用程序,以及您对BELL Shell&#34;的定义。