BASH的哈希表

BASH的哈希表,bash,ubuntu,hashtable,Bash,Ubuntu,Hashtable,为每个终端会话生成哈希表。它们是否存储在ubuntu中的一个文件中?如果是的话,该文件的位置是什么?该文件具有特定会话的哈希表。哈希表作为二进制结构存储在shell的虚拟内存(堆)中,即每次创建shell进程时都会重新创建哈希表 哈希表guts在hashlib.c中,hash命令本身在hashcmd.c中实现 您可以将哈希表作为一组命令存储在文件中,以便以后使用: hash -l > hashcmds # Or any such filename 该选项是小写的ell(不

为每个终端会话生成哈希表。它们是否存储在ubuntu中的一个文件中?如果是的话,该文件的位置是什么?该文件具有特定会话的哈希表。

哈希表作为二进制结构存储在shell的虚拟内存(堆)中,即每次创建shell进程时都会重新创建哈希表

哈希表guts在
hashlib.c
中,hash命令本身在
hashcmd.c
中实现

您可以将哈希表作为一组命令存储在文件中,以便以后使用:

hash -l > hashcmds         # Or any such filename
该选项是小写的ell(不是一个)。您可以将该命令放在
~/.bash\u注销中

还原为:

. hashcmds
您可以将该命令放入
~/.bashrc


文件名
hashcmds
只是我编造的-你可以随意调用它。

一切都是一个文件!我知道ubuntu中的所有东西都是一个文件,文件的位置是什么,在会话结束后它是否存在,或者在会话结束后它是否被删除??你指的是什么“哈希表”?当我们在终端中输入一个命令时,在它被执行之前,它会通过别名->shell函数->哈希表->路径,所以我在这个流中指的是哈希表,这里路径缓存在哈希表中,我指的是哈希表它们没有存储为文件。我可以像hashcmd.c一样查看这些文件及其内容吗?如果可以,你能给出这些文件的位置吗@cdarkeThese是bash本身的C源代码文件。源代码可在以下位置获得:。虽然代码写得很好,但您需要对C编程语言有全面的了解,我想知道为什么您需要了解哈希表的内部结构。哈希表很“有趣”。请注意,尽管在不同版本之间实现可能会发生变化。