-1

我试图根据这个问题将 mvim shell 脚本添加到 /usr/local/bin 形式的 bash 中,一切似乎都正常;但是,每当我尝试执行脚本时,我仍然会收到“找不到命令”。

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

sudo cp -v mvim /usr/local/bin

我得到输出:

mvim -> /usr/local/bin

然后无论我输入mvim还是mvim -v

我以前从来没有在我的 $PATH 中添加过一些东西,但是即使在查阅了一些关于它是如何完成的教程之后,我似乎也无法mvim作为终端命令来工作。

编辑:

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

4 回答 4

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意味着该文件现在由其所有者、其组成员以及所有其他用户执行。

/usr/local/bin在你的PATH中吗?

你确定这/usr/local/bin是你的PATH变量的一部分吗?

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

于 2012-07-01T17:08:04.583 回答
1

查看:

  1. 如果 /usr/local/bin/mvim 是可执行的(如果不是,添加 exec 位:chmod +x /usr/local/bin/mvim)
  2. 如果 /usr/local/bin 在 $PATH ( echo $PATH)
于 2012-07-01T17:07:09.700 回答
1

要么启动一个新的 shell,要么输入:

hash -r

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

于 2012-07-01T17:07:34.693 回答
0

这是您发布的内容:

mvim -> /usr/local/bin

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

如果是这样,这不是你想要的!

请执行以下操作:

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

  2. "cd" 到你原来的 "mvim" 目录(你试图复制到 /usr/localbin 的那个目录)

  3. 剪切/粘贴:

    a) 目录名称

    b)ls -l mvim

    C)echo $PATH

“echo $PATH”也很重要。

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

先感谢您。

于 2012-07-01T17:11:01.807 回答