检查路径是否存在的函数问题

检查路径是否存在的函数问题

我对 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。也许这个例子中还遗漏了一些东西。

相关内容