1

一个普通的命令未找到错误说:

bash: sadfasdf: command not found...

但是,如果[]在 bash 中执行,它会给出两条错误消息,而不是一条:

bash: []: command not found... Failed to search for file: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._pk_5ftransaction_5ferror.Code14: Invalid input passed to daemon: char '[' in text!

第二条错误消息是什么意思,是如何[]导致错误发生的?

4

1 回答 1

2

您似乎在 PackageKit 邮件列表中遇到了同样的问题。如果您使用的是 PackageKit,那可能是您的问题。

更一般地说,您应该检查似乎通过 BASHcommand_not_found_handle函数运行的任何内容。

来自man bash

"如果搜索不成功,shell 会搜索一个已定义的名为 command_not_found_handle 的 shell 函数。如果该函数存在,则以原始命令和原始命令的参数作为其参数调用它,函数的退出状态变为贝壳。”

简单地说,它是一个在 BASH 找不到您输入的命令时调用的函数。

似乎某些东西正在定义该功能,并且不喜欢方括号!

grep在你/etc/profile和 bash 配置文件周围,它会在某个地方:)

于 2013-01-17T23:48:13.937 回答