You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在zsh中禁用"..."路径扩展功能?

解决zsh中...被扩展为../..与Bazel冲突的问题

zsh默认开启EXTENDED_GLOB选项,该特性会将连续的点(如...)自动扩展为对应层级的上级目录路径(比如...变成../..),这和Bazel命令中...的语义完全冲突。

以下是两种解决方法:

方案1:彻底关闭EXTENDED_GLOB(简单但限制高级功能)

在~/.zshrc文件中添加:

unsetopt EXTENDED_GLOB

保存后执行source ~/.zshrc使设置生效。

注意:此操作会关闭zsh的所有高级匹配功能(如*.txt~exclude.txt排除指定文件、*(.)仅匹配普通文件等),若日常依赖这些功能,不建议使用。

方案2:仅禁用...的扩展(保留其他高级功能)

通过全局别名让...被当作字面量处理,在~/.zshrc中添加:

alias -g ...='...'

保存后执行source ~/.zshrc生效。此时输入bazel run ...,zsh会直接传递字面的...给Bazel,不会进行路径扩展,同时其他zsh高级glob功能不受影响。

临时测试的话,可直接在当前shell中执行alias -g ...='...',然后输入echo ...验证,正常会输出...而非../..。

内容的提问来源于stack exchange,提问作者dkrot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 11:52:16