“..”命令有什么作用?

“..”命令有什么作用?

今天晚上,我不小心输入了

.. 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
#

相关内容