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