![如何更改程序路径/别名?](https://linux22.com/image/1432253/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9%E7%A8%8B%E5%BA%8F%E8%B7%AF%E5%BE%84%2F%E5%88%AB%E5%90%8D%EF%BC%9F.png)
我不确定它在 Linux 上是如何工作的,但是你可以在任何目录中输入程序名称,如ls
、man
等,然后程序就会执行。
我卸载了旧版本的 ImageMagick 并构建了新版本,现在当我尝试执行命令convert
(运行 ImageMagick)时出现以下错误:
/usr/bin/convert: No such file or directory
于是我跑了:
find / -name convert
这表明:
/usr/local/bin/convert
因此看起来,由于某种原因,ImageMagick 这次将实际的可执行文件放在了不同的目录中,但是当我尝试运行该程序时,它会在旧目录中查找。
如何convert
使用新路径更新路径/别名/快捷方式(术语失败)?
答案1
您应该确保您的/usr/local/bin/
目录位于$PATH
:
echo $PATH
这将返回 Bash 搜索可执行文件的所有目录,以冒号 (“ :
“)。输出应类似于以下内容:
/usr/local/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/texbin
Bash shell 使用'哈希表'记住可执行文件的完整路径名。有关详细信息,请参阅man bash
并搜索'SHELL 内建命令'。
在新安装程序后,此哈希表可能不会自动更新。要在当前终端中强制执行此更新,请使用以下命令:
hash -r
现在转换
应该返回
/usr/local/bin/convert