能够访问目录但在 $PATH 中显示错误

能够访问目录但在 $PATH 中显示错误

$PATH当我在Debian 11中输入in终端时,它/usr/local/texlive/2023/bin/x86_64-linux: No such file or directory在最后输出,但我可以/usr/local/texlive/2023/bin/x86_64-linux#通过cd命令输入。那么,为什么会出现这个错误呢?

谢谢。

答案1

当您$PATH在终端中输入命令时,它将扩展到 的内容$PATH并尝试执行该内容。你可以看到$PATHwith的具体内容

echo "$PATH"

$PATH包含可以找到可执行文件的操作系统目录列表,以:.尝试执行该列表将会失败,因为没有具有该名称的可执行文件。

你所$PATH拥有的很奇怪,并且不是 Debian 11 上的标准。 APATH通常更像是

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

我怀疑您没有提供完整的输出,因为如果PATH仅包含一个目录,bash则会抱怨

bash: /usr/local/texlive/2023/bin/x86_64-linux: Is a directory

因为PATH包含目录名称,所以您可以cd访问目录。

- 编辑 -

既然您添加了确切的内容PATH,请尝试

ls /usr/local/texlive/2023/bin/x86_64-linux:/home/li/Downloads/sh:/usr/local/texlive/2023/bin/x86_64-linux:/home/li/.local/bin:/home/li/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/texlive/2023/bin/x86_64-linux

这也会给出相同的错误消息。这是因为目录列表与单个文件不同。

甚至cd不会工作。尝试

cd /usr/local/texlive/2023/bin/x86_64-linux:/home/li/Downloads/sh:/usr/local/texlive/2023/bin/x86_64-linux:/home/li/.local/bin:/home/li/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/texlive/2023/bin/x86_64-linux

这也会给你带来错误。

目录列表不是单个目录。目录列表也不是单个文件。

相关内容