为什么这个文件没有复制到我的$ PATH?

时间:2012-07-01 17:04:14

标签: bash macvim

我试图按照this question将mvim shell脚本添加到/ usr / local / bin格式bash,一切似乎都有效;但是,每当我尝试执行脚本时,我仍然会收到“命令未找到”。

从我的mvim文件所在的目录(下载)中,我输入了:

sudo cp -v mvim /usr/local/bin

我得到了输出:

mvim -> /usr/local/bin

然后,无论我键入mvim还是mvim -v

,它都无效

我之前从未向我的$ PATH添加过一些内容,但即使在查看了有关如何完成的一些教程之后,我似乎无法让mvim作为终端命令工作。< / p>

修改

echo $PATH

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

ls -l mvim

-rwxr-xr-x ...

ls -l /usr/local/bin

-rwxr-xr-x ...

4 个答案:

答案 0 :(得分:7)

/ usr / local / bin 是否存在?

如果您运行sudo cp -v mvim /usr/local/bin并且/usr/local/bin文件夹不存在,则cp会将mvim复制到/usr/local/文件夹并将其命名为bin

您需要先使用sudo mkdir -p /usr/local/bin创建文件夹。然后,您可以使用之前的mvim命令复制cp

mvim 是否可执行?

您是否确定/usr/local/bin/mvim设置了可执行文件标志?请尝试ls -l /usr/local/bin/mvim,如果结果以-rw-r--r--开头,则 mvim 不可执行。

然后您需要运行sudo chmod +x /usr/local/bin/mvim。如果您现在再次运行上一个ls命令,则结果应以-rwxr-xr-x开头。 x表示该文件现在由其所有者,其组成员以及所有其他用户可执行

> PATH 中的 / usr / local / bin

您确定/usr/local/binPATH变量的一部分吗?

尝试echo $PATH,如果输出不包含/usr/local/bin,那么shell将不会在那里查找命令。然后,您需要运行export PATH=$PATH:/usr/local/bin

答案 1 :(得分:1)

检查:

  1. 如果/ usr / local / bin / mvim是可执行的(如果不是,则添加exec位:chmod + x / usr / local / bin / mvim)
  2. 如果/ usr / local / bin位于$ PATH(echo $PATH

答案 2 :(得分:1)

启动新shell,或键入:

hash -r

以便shell重新检查$PATH中的目录。 (它缓存内容以提高效率,当您向路径中的目录添加内容时,需要重新加载该缓存。)

答案 3 :(得分:0)

这是您发布的内容:

mvim -> /usr/local/bin

我相信错误看起来就像“mvim”是指向目录 / usr / local / bin的符号链接

如果是这样,那么不是你想要的东西!

请执行以下操作:

  1. 打开终端(命令行)窗口。

  2. “cd”到原始“mvim”目录(您尝试复制到/ usr / localbin的目录)

  3. 剪切/粘贴:

    a)目录名

    b)ls -l mvim

    c)echo $PATH

  4. “echo $ PATH”也很重要。

    请将所有三个剪切/粘贴到您的回复中。

    提前谢谢。