
我對 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
。也許這個例子中遺漏了一些東西。