Ative a opção null_glob
do seu padrão com o qualificador N
glob.
list_of_files=(*(N))
Se você estiver fazendo isso em todos os padrões em um script ou função, ative a opção null_glob
:
setopt null_glob
Esta resposta tem equivalentes de bash e ksh.
Não use print
ou substituição de comando! Isso gera uma string que consiste nos nomes de arquivos com espaços entre eles, em vez de uma lista de strings. (Veja O que é divisão de palavras? Por que é importante na programação de shell? )