Linux 命令的所有目录路径都存储在名为 $PATH 的变量中。一旦调用命令,其路径就会另外存储在称为散列的笔记本中,以加快下次查找的速度。
hash 是一个 shell 内置命令,help hash
给出了非常简短的描述。选项 -t 被描述为打印哈希中收集的所有路径,因此我输入:
hash -t
确保我会得到哈希内容的列表。
然而我得到了这个:
bash: hash: -t: 选项需要参数
它需要什么论证?
我究竟做错了什么?
如何显示哈希表的内容?
答案1
我猜这是hash
在 中实现的?bash
hash -t
需要一个参数,因为它是对一个或多个实用程序的散列位置的请求:
$ hash -t ls
/bin/ls
$ hash -t ls man
ls /bin/ls
man /usr/bin/man
正如帮助文本所说:
打印每个名称的记住位置,如果给出多个名称,则在每个位置之前加上相应的名称
要显示所有哈希实用程序,请hash
不带任何参数使用:
$ hash
hits command
1 /usr/bin/man
2 /bin/ls
再次,正如帮助文本所说:
如果未给出参数,则显示有关记住的命令的信息。