Problemas com verificação de função se um caminho existe ou não

Problemas com verificação de função se um caminho existe ou não

Sou um pouco novo em scripts bash e estava tentando fazer com que este programa capturasse um caminho de diretório do usuário e verificasse se o diretório está presente. Parece que a variável SRCdentro da dir_inputfunção não foi passada para dir_input. Desde já, obrigado.

dir_input() {
    echo -n "Enter targer directory: "
    read SRC
}
dir_input_check() {
    if [ ! -d "$SRC" ]; then
        echo ERROR: "Target directory not found - Please try again."
        dir_input
    fi
}

dir_input
dir_input_check

Responder1

Parece funcionar para mim. Adicionando um

#!/bin/bash -x

na parte superior para obter um rastreamento, vejo isto (se eu digitar /tmpa resposta):

> ./foo
+ dir_input
+ echo -n 'Enter targer directory: '
Enter targer directory: + read SRC
/tmp
+ dir_input_check
+ '[' '!' -d /tmp ']'

Então SRCé passado conforme o esperado dir_input_check. Talvez haja algo deixado de fora do exemplo.

informação relacionada