我对 ubuntu 还很陌生,我无法理解有关终端反馈的一些内容。
课本上说,当你给“which”实用程序提供一个搜索路径中不存在的命令名称时,终端应该会有反馈。
然而,当我故意这样做时,什么也没有发生。看这里: 使用显然不执行任何操作的命令时没有任何反馈
有人知道如何让终端给我错误反馈吗?
答案1
which
从未在命令行上显示错误消息。至少在 Debian 版本的 Linux 上不是这样。每个系统似乎都有自己的版本(其他命令更受青睐的原因之一),所以也许你的课程引用了另一个操作系统?对于在脚本中的使用,你可以有 3 个退出状态:
EXIT STATUS
0 if all specified commands are found and executable
1 if one or more specified commands is nonexistent or not executable
2 if an invalid option is specified
使用type
、whatis
或whereis
。这 3 个都表示未找到您要求的内容。
$ type aaa
bash: type: aaa: not found
$ whereis aaaa
aaaa:
$ whatis aaaa
aaaa: nothing appropriate.
和
type firefox
firefox is /usr/bin/firefox
$ whereis firefox
firefox: /usr/bin/firefox /usr/lib/firefox /etc/firefox
/usr/share/man/man1/firefox.1.gz
$ whatis firefox
firefox (1) - a free and open source web browser
from Mozilla
以下是历史来自我们的 U&L。
答案2
which
将仅显示系统上存在的 Linux 命令您刚刚在那里尝试了随机字符……不是一个存在的命令……
以下是一些示例:
$ echo $PATH # This is my default path.
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
$ which python
/usr/bin/python
--- 因此 echo $PATH 将显示我的默认位置:/usr/local/sbin
和/usr/local/bin
和/usr/sbin
和.. 等等。
当您使用which python
终端命令时,它会在系统中所有现有的 PATH 中查找命令 python 并显示它的位置。
这很有用,因为有时你可能有一个未列在默认路径中的启动器/命令。因此你的终端将返回类似command not found
您也可以手动定义路径:
export PATH="/home/mihai"
/home/mihai# ls
Command 'ls' is available in '/bin/ls'
无法找到该命令,因为 PATH 环境变量中不包含“/bin”。
ls: command not found
echo $PATH
/home/mihai