Teste o que o cd fez ksh

0

Estou enfrentando um pequeno problema aqui. Eu estou fazendo:

cd $(find . -type d | grep "${4:0:4}.*${4:4:2}.*${4:6:2}")

$ 4 é um dado inserido pelo usuário. No entanto, se o usuário não respeitar o formato para entrar, ele fará: cd Então, meu $? será 0 e não 1, e será cd para minha casa. Eu gostaria de introduzir isso no meu caso de erro para (por caso de erro, quero dizer: if $? = 1 ). Como eu posso fazer isso ?

    
por user1058398 28.11.2013 / 13:00

1 resposta

4

Você pode fazer isso em duas etapas:

newdir="$(find . -type d | grep "${4:0:4}.*${4:4:2}.*${4:6:2}")"
if [ -z "$newdir" ];then
    # error out here
else
    cd "$newdir"
fi
...
    
por 28.11.2013 / 13:55