命令行中文件名后面的@有什么作用

命令行中文件名后面的@有什么作用

我注意到,当cat /home/@我在获得一些服务器后完成选项卡时。看来这是我放在/etc/hosts 中的东西。但在这种情况下@的作用是什么。我是否缺少一些方便的管道功能?

我知道它也用于符号链接和 user:pass@server 但在这种情况下我不知道。任何人都可以阐明这一点吗?

答案1

在 bash 和可能的其他 shell 中,制表符补全涉及@符号将:

尝试对点之前的文本执行补全。实际执行的完成是特定于应用程序的。 Bash 尝试完成将文本视为变量(如果文本以“$”开头)、用户名(如果文本以“~”开头)、主机名(如果文本以“@”开头),或依次命令(包括别名和函数)。如果这些都没有产生匹配,则尝试完成文件名。

bash 的代码位于 中/usr/share/bash-completion/bash_completion,从_user_at_host函数开始。

相关内容