执行命令时,linux搜索可执行文件的顺序是什么?我有以下内容:
以上两个文件都在路径中。
当我从我的主目录执行时,如下所示
prabhat@localhost~/home/prabhat/$ play
/ bin / play被执行。
linux搜索要执行的文件的顺序是什么。有没有办法改变它?
答案 0 :(得分:7)
订单由PATH变量中的输入订单定义。
请注意,您的shell可能会缓存此信息,当您更改PATH时,您可能需要刷新此缓存。在bash
中,这是由hash
命令完成的。有关详细信息,请参阅here。
hash命令维护一个哈希表,该哈希表具有used命令的路径 名。执行命令时,它会在中搜索命令 变量$ PATH。但是如果命令在哈希表中可用,那么它 从那里拿起并执行它
答案 1 :(得分:1)
你需要在路径中移动/ home / prabhat / playframework / before / bin。你应该能够在你的.bashrc或.bash_profile
中做到这一点类似于:
export PATH=/home/prabhat/playframework/play:$PATH
希望这会有所帮助