Problemas con la función que comprueba si existe una ruta o no

Problemas con la función que comprueba si existe una ruta o no

Soy un poco nuevo en las secuencias de comandos bash y estaba intentando que este programa capturara una ruta de directorio del usuario y luego verificara si el directorio está presente. Parece que la variable SRCdentro de la dir_inputfunción no se pasa a dir_input. Gracias de antemano.

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

Respuesta1

Parece funcionar para mí. Agregar un

#!/bin/bash -x

en la parte superior para obtener un seguimiento, veo esto (si entro /tmpen respuesta):

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

Entonces SRCse pasa como se esperaba dir_input_check. Quizás quede algo fuera del ejemplo.

información relacionada