簡體   English   中英

Bash將掛載的文件夾檢測為目錄

[英]Bash Detect Mounted Folder as Directory

我正在創建具有文件夾路徑的bashs腳本,將其作為參數傳遞。

而且,如果它檢測到參數是一個目錄,則將其用作腳本工作的路徑。

但是由於某種原因,它拒絕將此文件夾路徑視為目錄。

這使我困惑不已。

這是一個已安裝的外部3TB硬盤驅動器,工作正常,沒有問題,什么都可以。

但安裝為/ media / wdmybook /

我有此測試腳本可幫助我調試和確定問題。

#!/bin/bash
DIR="/media/wdmybook/folder"

if grep -qs '$DIR' /proc/mounts; then
    echo "It's mounted."
else
echo "It's not mounted."
fi

if [ ! -d "$DIR" ]; then
    echo "Directory does not exist!"
elif [ "$DIR" != -d ]; then
    echo "Not a Directory"
else
    echo "Path is okay"
fi

但是每次我運行它時,它都會將該路徑檢測為無效目錄,並且不會掛載它。

那我想念或看不到什么呢?

這是權限問題嗎?

我正在Debian Wheezy XFCE上運行它。

您應該將if條件重寫為如下形式:

if [ ! -e "$DIR" ]; then
    echo "Directory does not exist!"
elif [ ! -d "$DIR" ]; then
    echo "Not a Directory"
else
    echo "Path is okay"
fi

有關詳細信息,請參閱man test

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM