我将脚本添加到 /usr/bin,如果我输入完整的命令名称,它就会按预期运行。如何让终端自动完成命令名称?
答案1
hash -r
或者打开一个新 shell。
当您的 shell 启动时,它会扫描您的目录PATH
并缓存它找到的程序的名称和位置;当您要求它运行程序时,它会先检查缓存,如果它在那里找到了位置,它就不必扫描路径中的所有目录,这相当耗时。Bash 使用初始扫描的结果进行命令制表符补全(并且在您运行新程序时不会更新它),因此您的程序不会进入那里,直到您打开新会话或告诉它重新散列路径。
对于未来寻求答案的人,请注意:在 zsh 中,使用rehash