我试图按照这个问题将 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 ...
如果运行
sudo cp -v mvim /usr/local/bin
并且 /usr/local/bin
文件夹不存在,cp 会将 mvim
复制到 /usr/local/
文件夹并命名为 bin
。
您需要先使用
sudo mkdir -p /usr/local/bin
创建文件夹。然后,您可以使用之前的 mvim
命令复制 cp
。
您是否确定
/usr/local/bin/mvim
设置了 executable 标志?尝试 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
变量的一部分?
尝试
echo $PATH
,如果输出不包含 /usr/local/bin
,那么 shell 将不会在那里查找命令。然后你需要运行 export PATH=$PATH:/usr/local/bin
检查:
echo $PATH
)启动一个新的 shell,或者输入:
hash -r
以便 shell 重新检查
$PATH
中的目录。 (它会缓存内容以提高效率,当您将内容添加到路径中的目录时,您需要重新加载该缓存。)
这就是您发布的内容:
mvim -> /usr/local/bin
我认为这是“错误的”。它看起来就像“mvim”是一个符号链接,指向目录/usr/local/bin。 如果是这样,这
不是你想要的! 请执行以下操作:
a) 目录名称
b)
ls -l mvim
c) echo $PATH