我当然希望有人能对我大笑......一个卑微的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“?
答案 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