A expansão variável é diferente no zsh e a do bash
A seguir, é apresentado um caso de teste simples para o que quero ilustra
In bash,
# define the function f
f () { ls $args; }
# Runs the command `ls`
f
# Runs the fommand `ls -a`
args="-a"
f
# Runs the command `ls -a -l`
args="-a -l"
f
Mas em zsh
# define the function f
f () { ls $args }
# Runs the command `ls`
f
# Runs the fommand `ls -a`
args="-a"
f
# I expect it to run `ls -a -l`, instead it gives me an error
args="-a -l"
f
A última linha no zsh acima, dá-me o seguinte erro
ls: invalid option -- ' '
Try `ls --help' for more information.
Acho que o zsh está executando
ls "-a -l"
quando é que recebo o mesmo erro.
Então, como obtenho o comportamento do bash aqui?
Não tenho certeza se sou claro, deixe-me saber se há algo que você deseja saber.