zsh ajuda de instrução condicional

1

Sentindo-se meio idiota agora:

Por que meu contional é sempre verdadeiro?

Eu tentei

# this should let me know what's not a directory or 
# symbolic link.
whoa='find ${MUSICDIR} ! -type l ! -type d | wc -l'

# I would expect if it's 0 (meaning nothing was found) that
# one of these statements would evaluate to false, but so far
# it's always evaluating to true
if [[ "${whoa}" != "0" ]]
    do something
fi
if [[ ${whoa} -gt 0 ]]
    do something
fi

O que estou perdendo?

    
por Roy Rico 14.02.2011 / 00:15

2 respostas

3

Acontece que eu estava faltando o "então" após a instrução if.

deve ser

if [[ "${whoa}" != "0" ]]
then
    do something
fi
    
por 22.02.2011 / 22:50
1

Os backticks recolhem stdout do subprocesso e whoa contém o texto, não o errorlevel. Você pode usar $? para obter o nível de erro do último comando.

Mas se você estiver usando, encontre o recurso exec para fazer algo.

Além disso, você pode usar o tipo f para o arquivo, para localizar um arquivo regular.

    
por 14.02.2011 / 00:33