我正在尝试设置alias conky-lua ="conky -c ./.conky/conkyrc &"以启动 conky-lua。但是当我.zshrc找到它时,它说找不到命令。
我在 Stackoverflow 上找到的一个可能的解决方案是设置alias ls='ls -GpF'没有解决问题
问题是=命令中的周围空间。看:
[:~] % 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”(完整路径与在命令名称嵌入的空间),所以它在寻找它失败。