Linux (哦,我的天)zsh行为:`$command\u name`在主目录中产生`cd command\u name`效果

Linux (哦,我的天)zsh行为:`$command\u name`在主目录中产生`cd command\u name`效果,linux,shell,path,zsh,oh-my-zsh,Linux,Shell,Path,Zsh,Oh My Zsh,我目前正在使用zsh和噢,我的zsh,我遇到了一个恼人的shell行为 在编辑我的.zshrc时,我必须对$PATH导出进行了细微但突破性的更改,因为发生了以下情况: 当处于~/状态时,在外壳提示下,例如,发出颤振命令 $flatter …结果是: $~/flatter/ (好像调用$flatter被解释为$cd flatter) 但是,在任何其他目录(包括$~/flatter中)中发出$flatter会正确执行flatter命令。对于go和其他人也是一样 my.zshrc上的行2以以下方式导出

我目前正在使用
zsh
噢,我的zsh
,我遇到了一个恼人的shell行为

在编辑我的
.zshrc
时,我必须对
$PATH
导出进行了细微但突破性的更改,因为发生了以下情况:

当处于
~/
状态时,在外壳提示下,例如,发出
颤振
命令

$flatter

…结果是:

$~/flatter/
(好像调用
$flatter
被解释为
$cd flatter

但是,在任何其他目录(包括
$~/flatter
中)中发出
$flatter
会正确执行
flatter
命令。对于
go
和其他人也是一样

my
.zshrc
上的行
2
以以下方式导出
$PATH

export PATH=$HOME/bin:$HOME/.emacs.d:$HOME/flatter/bin/cache/dart-sdk:$HOME/.pub-cache/bin:$HOME/.composer/vendor/bin:$HOME/.cargo/env:$HOME/.platformio/penv/bin:$HOME/flatter/bin:$PATH

我一直在将
.zshrc
版本与其他备份进行比较,我可能遗漏了一些内容,但没有发现任何差异

在你看来,什么是错的

如果您以前遇到过这种烦恼,您是如何纠正的?

解释 这是一个叫做
自动CD
的功能

自动光碟(-J)

如果发出的命令不能作为正常命令执行,并且该命令是目录的名称,请对该目录执行cd命令

AUTO_CD
由文件中的oh my zsh启用

。。。
setopt自动光碟
setopt多操作系统
setopt提示符_subst
[[-n“$WINDOW”]&&SCREEN_NO=“%B$WINDOW%B”| SCREEN_NO=“”
...
解决方案 加载
oh my zsh
后,在
~/.zshrc
中附加以下命令以禁用此功能

取消选择自动光盘

这是一个名为
autocd
的功能,不是一个bug。如果我没有显式激活它,它怎么会生效,我怎么能停用它?这只会发生在某些命令上,我不知道。使用合适的shell,比如bash,这不是很有帮助。我很欣赏
autocd
heads,我正在研究它。下次,请不要攻击别人的工具。对于特定的需求,我们都有不同的堆栈,如果我们中的一些人没有使用特定的工具(在本例中是
bash
),那是有一个令人信服的原因的。@dennismayr如果你能接受答案,我将不胜荣幸。当然!我也会将此报告给oh my zsh维护人员
auto_cd
应该是opt-in,而不是opt-out,而且这个“功能”上周没有生效(每次提示后我都会更新)。