无法在 zsh 中设置别名 --- 未找到命令?

无法在 zsh 中设置别名 --- 未找到命令?

我正在尝试设置alias conky-lua ="conky -c ./.conky/conkyrc &"以启动 conky-lua。但是当我使用源代码时,.zshrc它说未找到命令。

我在 Stackoverflow 上找到的一个可能的解决方案是设置alias ls='ls -GpF'没有解决问题

答案1

=问题在于命令中的周围的空格。请看:

[:~] % alias a=ls 

这按预期工作

[:~] % type a
a is an alias for ls

[:~] % alias b =ls    
[:~] 1 % 

这不起作用。zsh看到两个单词,b=ls;它在第二个单词上使用路径名扩展,并执行alias b /bin/ls--- 它以错误代码 1 静默退出,因为b或都不/bin/ls是别名(alias=检查名称是否是别名)。

[:~] 1 % alias c ="ls -l"
zsh: ls -l not found
[:~] 1 % 

这个失败的方式更奇怪;shell 试图扩展命令“ls -l”的完整路径(由于我遇到的问题是“命令名中嵌入的空格”,所以无法找到它。

相关内容