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

Lyn*_*nob 4 command-line zsh

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

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

Rma*_*ano 6

问题是=命令中的周围空间。看:

[:~] % alias a=ls 
Run Code Online (Sandbox Code Playgroud)

这按预期工作

[:~] % type a
a is an alias for ls
Run Code Online (Sandbox Code Playgroud)

[:~] % alias b =ls    
[:~] 1 % 
Run Code Online (Sandbox Code Playgroud)

这不起作用。zsh看到两个字,b=ls;它使用在第二个中的路径名扩展,并执行alias b /bin/ls---其与错误代码1自行退出,因为无论b/bin/ls有别名(alias=检查是否有名称是一个别名)。

[:~] 1 % alias c ="ls -l"
zsh: ls -l not found
[:~] 1 % 
Run Code Online (Sandbox Code Playgroud)

这以一种更奇怪的方式失败了;外壳是试图扩大命令“ls -l”(完整路径在命令名称嵌入的空间),所以它在寻找它失败。