别名?无法在 zsh 中工作

别名?无法在 zsh 中工作

我被引导相信 zsh 和 bash 中的别名之间没有区别,但事实似乎并非如此。我有一个别名可以帮助我熟悉可用的命令行实用程序,但将其复制到.zshrc我的新版本后,它无法工作。我已通过更改别名确认这不是错误,这解决了问题。

该命令的别名为?.为什么?创建别名时不能使用?

alias ?='pwd'
alias ?='echo hello'

除其他外,已经进行了尝试。如前所述,映射到的别名没有?起作用。

它位于~/.zshrc文件中。我从 .bashrc 复制了它,因为我刚刚决定尝试 zsh。

答案1

?是特殊的(由 glob 和历史扩展都使用,请参阅zshexpn(1)),因此需要转义,但否则可以用作别名,但考虑到它是特殊的,可能不应该这样。

% alias \?='echo hi'
% ?
hi

相关内容