![在 bash 中,为什么命令 .. 不会产生任何错误文本](https://linux22.com/image/226701/%E5%9C%A8%20bash%20%E4%B8%AD%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%E5%91%BD%E4%BB%A4%20..%20%E4%B8%8D%E4%BC%9A%E4%BA%A7%E7%94%9F%E4%BB%BB%E4%BD%95%E9%94%99%E8%AF%AF%E6%96%87%E6%9C%AC.png)
使用 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 进行了修复,现在忽略.
并..