
저는 bash 스크립팅을 처음 접했고 이 프로그램이 사용자로부터 디렉터리 경로를 캡처하도록 한 다음 해당 디렉터리가 있는지 확인하려고 했습니다. 함수 SRC
내부의 변수 dir_input
가 에 전달되지 않은 것 같습니다 dir_input
. 미리 감사드립니다.
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
답변1
그것은 나를 위해 작동하는 것 같습니다. 추가
#!/bin/bash -x
추적을 위해 맨 위에 보면 다음과 같은 내용이 표시됩니다( /tmp
답장으로 입력한 경우).
> ./foo
+ dir_input
+ echo -n 'Enter targer directory: '
Enter targer directory: + read SRC
/tmp
+ dir_input_check
+ '[' '!' -d /tmp ']'
따라서 SRC
예상대로 에 전달됩니다 dir_input_check
. 아마도 예제에서 빠진 것이 있을 것입니다.