这似乎是几天前随机开始的。以前从 Windows 版 Ubuntu bash 运行 fish shell 没问题。但突然当我点击Tab自动完成时,它弹出:
The file "x86" is not executable by this user in command substitution called on standard input
另外,当我输入时x86
它实际上并没有运行命令,但它告诉我:
The file "x86" is not executable by this user
但是,which x86
没有输出任何内容。
知道这里到底发生什么事吗?
答案1
这是鱼中存在的一种虫子并在 2.3.0 版本中修复- 如果它在后续版本中仍然存在,我们将非常感谢您的报告。
您可以从Ubuntu PPA 存储库如果安装的版本apt-get
太旧。
答案2
这里的问题在于 completer_t::complete_cmd
,它调用 expand_string。这是一个非常通用的函数,可以扩展通配符、进程扩展、变量扩展等内容。
在 $PATH 的组件中进行这些扩展肯定是错误的。