在 bash 中,为什么命令 .. 不会产生任何错误文本

在 bash 中,为什么命令 .. 不会产生任何错误文本

使用 bash,如果我输入命令,..则不会得到任何文本输出来指示命令失败或无法找到,尽管返回了错误代码 127。但是,如果我发出任何其他不存在的命令,例如 ooo 我会看到这个打印

bash: ooo: command not found...

返回码为 127

为什么会出现这种不一致的情况呢?

进一步调查显示 type -a ..bash 找不到该命令bash: type: ..: not found

(set -x ;..)显示有东西正在运行?

 + ..
 + local runcnf=1
 + local retval=127
 + [[ himxBHs == *\i* ]]
 + [[ ! -S /run/dbus/system_bus_socket ]]
 + [[ ! -x /usr/libexec/packagekitd ]]
 + [[ -n '' ]]
 + [[ ! -x /usr/libexec/pk-command-not-found ]]
 + '[' 1 -eq 1 ']'
 + /usr/libexec/pk-command-not-found ..
 + retval=127
 + return 127

ls -ld是一个目录drwxr-xr-x. 12 wilhadden wilhadden 4096 Oct 18 14:55 ..

...确实产生输出bash: ...: command not found...-
Jeff Schaller

答案1

问题已在这里得到解答https://unix.stackexchange.com/a/283005/592740

对 /usr/libexec/packagekitd 进行了修复,现在忽略...

相关内容