2012-01-09 88 views

回答

18

使用bash/SH/KSH,你可以這樣做:

if [ ! -d /directory/to/check ]; then 
    mkdir -p /directory/toc/check 
fi 

對於文件,以取代-f-d,那麼你可以做你需要的不存在的文件的任何操作。

+7

你實際上並不需要檢查。 'mkdir -p'不作用於現有的目錄。 – thiton 2012-01-09 15:11:55

+1

這是一個公平點。我會留下它,好像給了OP的框架,以防他們想在'mkdir'之前做其他事情。 – 2012-01-09 15:13:27

+1

請注意,如果在第一行和第二行之間創建目錄,則會出現爭用情況。 – Sjoerd 2012-01-09 15:14:10

5
test -d /src/com/mot || mkdir /src/com/mot 
6

mkdir -p沒有,如果它已經存在,給了一個錯誤創建目錄。

4

檢查目錄存在

if [ -d "$DIRPATH" ]; then 
    # Add code logic here 
fi 

檢查目錄不存在

if [ ! -d "$DIRPATH" ]; then 
    # Add code logic here 
fi 
5

好吧,如果你只檢查的目錄,如果它不存在,創建它,你也可以使用:

mkdir -p /src/com/mot 

mkdir -p將創建目錄,如果它不存在,否則什麼也不做。

3

這是baisc,但我認爲它的工作原理。如果您希望有一個動態列表循環查看,則必須設置一些變量。

if [ -d /src/com/mot ]; 
then 
    echo Directory found 
else 
    mkdir /src/com/mot 
fi 

希望這就是你要找的人...

+0

您錯過了';'在if條款的結尾']之後。 – 2012-01-09 15:16:06

+0

謝謝..固定的 – Silvertiger 2012-01-09 15:26:14

+0

@Chirstian';' ']'後不需要,']'不是右括號。在命令'['的情況下,結尾的']'只是該命令的一個參數。換行符與分號具有相同的用途。 – 2012-01-09 15:30:02

相關問題