
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 SRC
dentro da dir_input
funçã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 /tmp
a 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.