终端无反馈

终端无反馈

我对 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

使用typewhatiswhereis。这 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  

相关内容