即使成功修改 PATH 后,它仍然不起作用

即使成功修改 PATH 后,它仍然不起作用

由于某种原因,我成功地向我的目录添加了新目录$PATH,但是当我在终端中运行命令时,并$PATH没有调用它们。

我修改了文件$PATH中的内容~/.bashrc,并添加了最后一个目录

# Set the default system $PATH:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:**/home/aldin/mybin/fasta-35.4.12/bin**"

但当我运行命令时,它显示command not found。然而,当我输入该实用程序的完整路径时,我能够运行它。

有人遇到过这个问题吗?你知道我该怎么做才能解决这个问题吗?

答案1

首先,请确保重新启动会话。要么关闭终端窗口,要么完全注销并重新登录。

接下来,确保您确实已经修改PATHecho $PATH

如果您不是aldin来自该文件的路径(或者即使您是),请确保您有权查看该目录并执行该文件。

最后,确保您尝试运行的命令确实被标记为可执行权限。类似这样的操作chmod a+x /home/aldin/mybin/fasta-35.4.12/bin/file.sh应该可以正常工作。

此外,您正在尝试以一种非常危险的方式修改PATH。请尝试:

PATH="$PATH:$HOME/mybin/fasta-35.4.12/bin/"

绝不(有时我希望有一个“超级粗体”)修改$PATH你的方式,总是在某处引用当前内容$PATH,否则你将覆盖而不是附加到其中的现有条目。

答案2

我遇到了同样的问题。我无法让 bash 接受库路径,以便我的程序可以使用它。那时我发现了链接器管理器。Linux 有一个名为的链接器管理器ldconfig。我导航到/etc/ld.so.conf.d以 root 用户身份登录。然后我在其中创建了一个配置文件,文件名类似于myLibPaths.conf。我在该文件中添加了一行库路径:like;/home/用户名/lib。您可能可以根据需要在该文件中添加任意数量的路径行。之后,需要一个配置命令。

执行ldconfig在命令行上。使用以下方法验证路径添加:ldconfig -v | 更少或者 ldconfig -v | grep /home/用户名/lib

&)删除路径: R M/etc/ld.so.conf.d/myLibPaths.conf

&)要编辑路径:编辑myLibPaths.conf然后运行ldconfig再次。

我不再尝试使用 bash 设置库路径。我可能能够使用LD_LIBRARY_PATH=$PATH:$HOME/lib,但链接器管理器工作正常。整个问题在于让 bash 确认LD_LIBRARY_PATH。也许 Linux 根本不以这种方式处理库?

相关内容