Na expansão do parâmetro Zsh, tenho:
"${test_var:-"${HOME}/test"}"
mas aqui eu quero verificar se ${HOME}/test
existe ou não, se não existir, test_var
expanda para " "
(uma string de espaço).
Existe uma solução em linha para isso?
Na expansão do parâmetro Zsh, tenho:
"${test_var:-"${HOME}/test"}"
mas aqui eu quero verificar se ${HOME}/test
existe ou não, se não existir, test_var
expanda para " "
(uma string de espaço).
Existe uma solução em linha para isso?
chega perto. Ao adicionar um
(N)
(e aqui como estamos no contexto da lista), isso~/test(N)
se torna um glob e, por causa desseN
qualificador de glob, se não houvertest
entrada de diretório em$HOME
(~
), o glob se expandirá para nada.Isso é diferente do que você está perguntando, pois não se expande para nada, em vez de um argumento de um espaço.
Para isso, você ainda pode fazê-lo em etapas:
Você também pode usar a substituição de comando, embora isso seja um pouco trapaceiro:
Ou: