bourne源脚本的源代码的原因是

分享于 

2分钟阅读

电脑

  繁體 雙語

问题:

shell的原始开发人员决定命名源命令 . 是否有更高的原因?

( 因为源命令是bourne的,如果我错了,纠正我)

注意,bash对 . 有一个名为 source的别名,它更。 sh没有这个别名,这意味着 . 不是 source的缩写。


回答 1:

就像维基百科状态一样,Bourne shell 被编写为 replacement shell Thompson shell,而后者则不太可能是由前一代的前辈 derived。 但是,Bourne使用了一些ALGOL规则语法,这可能是导致这类错误的原因。 一个认识ALGOL的人,请纠正我。

这种基本的设计决策很少能追踪到原来的程序员,或者从一些常见的。

对于我来说,点命令与"现在的事情"关联,比如解释器的别名,比如解释器,短形式表示没有进程 fork,因为它有一个名称。 这不是一个好的解释,但不是它的他的。

你还可以看一下这篇文章中的。 虽然它没有回答你的特定问题,但它本身可能是有趣的。


回答 2:

它们不是完全同义的。例如虽然 . 被sh识别,但它不是为csh构建的。 同样,虽然 source 是为csh构建的,但它不是sh的内置命令。

我想 . 上的与csh上的source 相同,因此两者都是出于兼容性原因而实现的。 我不是在( 如果他们曾经是黄金)/sh的黄金天生活,所以这样做比任何东西都要多。