为什么选择`.` 来表示点命令?

jes*_*e_b 8 history command historical-unix

看到这个问题后,我想知道为什么.选择符号来表示点命令

我无法找到太多关于它的起源或谁创建它的信息,并且很好奇为什么选择句号来代表这个命令。

Kus*_*nda 7

我能找到的最早提到的 dot 命令是在Unix Release 7 中Stephen Bourne 的shshell的手册中(它可能更旧,但sh在 Release 6 中没有明显作为内置命令之一出现)。

. file  Read and execute commands from file and return.  The search path
        $PATH is used to find the directory containing file.
Run Code Online (Sandbox Code Playgroud)

点,一般来说,似乎与“这里”或“当前”有关。该.目录是当前目录,来自同一 Unix 版本.adb调试器中的.地址有一个地址,即当前地址。同样地,进入.随后换行符在ed编辑器将重新显示当前行编辑缓冲区(的.地址当前行)。点还表示XML、JSON、YAML 等某些结构化查询语言中的当前节点(尽管这些是后来的发明)。

因此,我认为,推测.shell中的命令也意味着“此处”或“当前”并不过分。特别是“在当前环境中运行此脚本”。

点也非常快速且易于键入,并且具有执行常见任务的简短命令(无论是在edadb还是在 shell 中)可能是未使用另一个较长名称的另一个原因。


请注意,我没有的功能版本,sh从7版测试的东西,而且我找不到实际执行.从上面提到的Git仓库该版本伯恩的外壳,所以我不能说可以肯定的是,它确实做到了今天所做的一切。但它很可能做到了。