Используйте eval
для принудительного zsh
для анализа псевдонима после код был прочитан в:
zsh -c 'setopt aliases complete_aliases; alias d=date; eval d'
В этом случае d
никогда не будет расширяться, поэтому не нужно указывать.
Как правило, следует правильно указать все аргументы eval
.
man zshmisc
говорит:
There is a commonly encountered problem with aliases illustrated by the
following code:
alias echobar='echo bar'; echobar
This prints a message that the command echobar could not be found.
This happens because aliases are expanded when the code is read in; the
entire line is read in one go, so that when echobar is executed it is
too late to expand the newly defined alias. This is often a problem in
shell scripts, functions, and code executed with `source' or `.'.
Consequently, use of functions rather than aliases is recommended in
non-interactive code.