linux shell环境下,你也许会碰到改变了环境变量PATH的路径,但执行的程序任然是修改前的路径里面的程序。
这是因为shell采用了哈希表缓存机制,从而来提高运行效率。
当你输入命令,首先在hash表中寻找,如果不存在,才会利用$PATH环境变量指定的路径寻找命令,然后加以执行。同时也会将其放入到hash table 中,当下一次执行同样的命令时就不会再通过$PATH寻找。以此提高命令的执行效率。
操作方法:hash
可用hash命令清空缓存,然后新的PATH变量就生效了
linux shell环境下,你也许会碰到改变了环境变量PATH的路径,但执行的程序任然是修改前的路径里面的程序。
这是因为shell采用了哈希表缓存机制,从而来提高运行效率。
当你输入命令,首先在hash表中寻找,如果不存在,才会利用$PATH环境变量指定的路径寻找命令,然后加以执行。同时也会将其放入到hash table 中,当下一次执行同样的命令时就不会再通过$PATH寻找。以此提高命令的执行效率。
操作方法:hash
可用hash命令清空缓存,然后新的PATH变量就生效了