当我$PATH像下面那样输入时,输出开始, -bash:然后是$PATHthen的值,最后它打印,: No such directory
而输出echo $PATH不产生该输出。
是否readline涉及bash ?
[user1@Server1 ~]$ $PATH
-bash: /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/user1/.local/bin:/home/user1/bin: No such file or directory
Run Code Online (Sandbox Code Playgroud)
当我只做echo $PATH输出时:
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/user1/.local/bin:/home/user1/bin
Run Code Online (Sandbox Code Playgroud)
roa*_*ima 14
简单命令行上的第一个词是命令 - 一个动作。(还有更复杂的变体,但现在认为这是一个充分的事实。)
在你的第一个例子中,“command”是$PATH变量的值,它实际上不是一个命令,所以bash抱怨它找不到它来运行。(shell 搜索$PATH您输入的命令的变量中指定的以冒号分隔的目录列表。)
在您的第二个示例中,“命令”是echo动词,其值是$PATH作为参数。该echo命令将其参数打印到stdout,因此您可以$PATH在屏幕上看到 的值。
G-M*_*ca' 13
如果你输入命令
$ cat food
Run Code Online (Sandbox Code Playgroud)
你会收到错误信息
cat: food: No such file or directory
Run Code Online (Sandbox Code Playgroud)
如果你输入命令
$ cp abc def
Run Code Online (Sandbox Code Playgroud)
你会收到错误信息
cp: cannot stat ‘abc’: No such file or directory
Run Code Online (Sandbox Code Playgroud)
这是非常非常UNIX中的错误消息共同点?&?Linux可以与该程序的名称开始发出(即写)他们。所以,当你输入
$ abc:def
Run Code Online (Sandbox Code Playgroud)
进入 bash shell,错误消息很自然
-bash: abc:def: command not found
Run Code Online (Sandbox Code Playgroud)
以 name 开头bash,因为 bash 发出了该消息。有点棘手的一个部分是它说-bash而不是bash. 这是因为 bash 是一个shell,
特别是一个登录 shell。
按照惯例,登录 shell 的名称始终以-.
有关这方面的更多背景信息,请参阅:
.profile并.bash_profile从 tmux 启动时被忽略.bashrc?exec $SHELL -l?| 归档时间: |
|
| 查看次数: |
19238 次 |
| 最近记录: |