檢查路徑是否存在的函數問題

檢查路徑是否存在的函數問題

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

相關內容