Os valores de saída de sua experiência estão corretos. Quando o utilitário test
avaliar uma expressão, se a expressão for avaliada como verdadeira, test
retornará um status de saída zero (true) ; caso contrário, retorna 1 (false) .
Assim, no seu exemplo, test -L ../Dependencies
retorna 0 (verdadeiro) porque ../Dependencies
é um link simbólico. Se ../Dependencies
não fosse um link simbólico, test
retornaria 1 (false).
A instrução if
do script de shell está correta, mas você pode adicionar comandos echo
para ver se há outros problemas quando o script de shell é executado. Por exemplo, você pode adicionar dois comandos echo
antes da instrução if
:
echo "path is '$PWD'"
echo "out_dir is '$out_dir'"