ubuntu将以什么顺序搜索bin文件夹中的可执行文件?

时间:2018-10-12 09:31:06

标签: shell ubuntu

因此,我了解到,为了能够在shell中的任何地方执行程序,我必须放置一个类似于以下内容的参考文件          #!/ bin / bash          路径/到/我/原始/可执行文件 在我的bin目录中并使其可执行。

在我当前的linux系统上(由我的工作场所提供),有多个bin目录,例如     / usr / local / bin     / home / MyUsername / bin /     / home / otherUsername / bin / 对于我的工作,我必须更改一个c ++程序,该程序应该对计算机上的每个用户都可用(因此,我使用了/ usr / local / bin / sofer)。但是我意识到对原始程序所做的更改没有通过...所以我的问题是:

  1. 我需要检查旧的可执行文件吗?其他bin文件夹在哪里?
  2. 我的操作系统(ubuntu 16.04)如何在不同bin位置但名称相同的可执行文件之间进行选择?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

PATH shell变量包含一个用冒号分隔的路径列表,以在其中查找可执行文件。该列表从左到右处理,shell执行它找到的第一个可执行二进制文件(请确保chmod +x您提供的二进制文件)。如果要简化打印输出,可以使用:echo $PATH | tr ":" "\n"。还请记住,程序可能是用与您的Shell不同的PATH启动的,并且用户可以自定义其PATH变量。系统范围的PATH设置通常可以在/etc/profile/etc/profile.d/中找到。您可以使用which file来显示file的完整路径扩展。