今天晚上,我不小心输入了
.. blah
在 bash 命令行(Fedora 27、bash 4.4.12)。令我惊讶的是,它(显然)什么也没做,但没有给出任何错误。怎么会?
我得到了同样的效果..
,没有任何争论。
我想知道它是否可以被视为. .
,即获取当前目录,但是当我尝试这样做时,它给出了一个错误,说这.
是一个目录。
如果我尝试三个点,它建议尝试两个:
[james@melissa ~] $ ...
bash: ...: command not found...
Similar command is: '..'
[james@melissa ~] $
所以它在某种程度上肯定认为该命令存在。man
不过,它没有页面,也.. --help
没有提供任何输出。
但也许最奇怪的是,似乎如果我执行..
,无论带或不带参数,我都会得到退出代码 127,这是尝试运行不存在的命令的退出代码。所以在某种程度上它也认为该命令不存在。
它似乎与名为 ; 的目录的存在无关..
。或者,至少,如果我自己输入任何其他目录的名称,我确实会收到错误,并且..
即使我在根目录中也不会抛出错误,其中没有这样的目录..
我所能猜测的是,它并不是真正的命令,而是错误消息由于某种原因被抑制。
还有其他想法吗?
编辑:事实证明,这与中的根本问题相同链接帖子,尽管有不同的症状:在那里,任何以 a 开头的命令.
都会默默失败。这里不是这样的,这里只有..
这个效果。看来该错误已部分修复,但尚未完全修复。
答案1
我在我的系统上尝试了这个(也使用 bash-4.4.12)并得到了-bash: ..: command not found
,所以它不是内在的。我的猜测是您在某处设置了别名。
为了验证是否是这种情况,我尝试了以下操作:
# alias ..='echo Hello'
# ..
Hello
#