使用 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 进行了修复,现在忽略.
并..