在当前目录中执行vs指定可执行linux

时间:2014-10-24 02:50:56

标签: linux path

我当然希望有人能对我大笑......一个卑微的Windows男孩。我甚至不知道如何发布问题(更不用说谷歌的解决方案)。这是混乱:

我正在使用安装了trusty64操作系统的virtualbox。我输入:

$ cd /home/vagrant/.rbenv/versions/2.1.3/bin

$ ls

捆绑捆绑erb erubis ...

$ bundler -v

:没有这样的文件或目录

$ /home/vagrant/.rbenv/versions/2.1.3/bin/bundler -v

Bundler版本1.7.3

$

老实说,我是Linux新手,现在可能很明显了。但这两个不等同?如果我在一个目录中执行“bundler -v”,那么当我明确键入当前路径和可执行文件时,我得到的结果与我完全不同,如:“/ home / vagrant / .rbenv /versions / 2.1 .3 / bin / bundler -v“?

1 个答案:

答案 0 :(得分:0)

要运行系统知道的二进制文件,因为它位于$ PATH变量中,您可以使用程序名称和任何参数,例如:

bundle -v

如果您的程序不在$ PATH中并且您想在其当前工作目录中执行它,请运行:

cd /path/to/file/directory
./programname

或者您可以使用绝对路径,例如:/home/vagrant/.rbenv/versions/2.1.3/bin/bundler -v

要查找包含系统知道的程序的目录,请在shell中运行echo $PATH

看看这里:https://askubuntu.com/questions/164180/different-ways-of-executing-binaries-and-scripts