在终端中输入 $PATH 后没有这样的文件或目录

wai*_*r92 16 linux bash path

当我在终端写

echo $PATH
Run Code Online (Sandbox Code Playgroud)

我的输出是

:/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin
Run Code Online (Sandbox Code Playgroud)

但是当我只写:

$PATH
Run Code Online (Sandbox Code Playgroud)

这个输出我不明白,输出是:

bash: :/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么写“没有这样的文件或目录?” PATH 变量中的每个目录都存在。

小智 24

$PATH是一个变量,我相信你知道。当该变量被解析时,它与输入:/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin:并期望发生某些事情相同。有效的原因echo $PATH是因为您明确地将其输出到显示器而不是告诉终端 "do" $PATH


G-M*_*ca' 5

如果您仍然没有从其他答案中得到它,它与此相同:\n

\n\n
$ echo the quick brown fox\nthe quick brown fox\n$ the quick brown fox\nbash: the: command not found\n\n$ echo and/or the black and white cats\nand/or the black and white cats\n$ and/or the black and white cats\nbash: and/or: No such file or directory\n
Run Code Online (Sandbox Code Playgroud)\n\n

每个命令行的第一个单词必须是 command \xc2\xa0\necho是这样的命令。\xc2\xa0\n theand/or、 和:/home/bo/bin:/usr/local/bin:/usr/sbin\xe2\x80\xa6不是。\xc2\xa0\n而且,显然,当您键入命令时以不是命令的单词开头的行,\nbash 表示No such file or directory该单词是否包含一个或多个/字符,\ command not foundn如果不包含。

\n