2011-09-02 92 views
0

我只是想實現下面的語句所需的幫助

"if bin folder is not available in current directory then make new bin folder & 
if bin folder is available then its do nothing" 

有誰能夠給我任何想法我怎麼能做到這一點?

編輯: 我不希望像

mkdir: cannot create directory `./bin `./bin': File exists 

回答

5

任何錯誤,您可以只是這樣做:

-mkdir ./bin 

如果./bin已經存在,那麼mkdir會默默地消失,否則將創建目錄。

+1

我想說的mkdir -p ./bin – Dimitri

+0

的mkdir:無法創建目錄'./bin':文件已存在 我不想這個錯誤 –

+3

@ Mr.32:注意'-'在年初這條線,這很重要。 – carlpett

2

使用這樣的規則:

bin: 
     mkdir bin 

然後,而不是寫mkdir bin作爲其他規則的一部分,使他們依賴於bin規則。 bin規則只有在bin不存在時纔會執行。

1

對於您的要求,您可以使用規則如下:

bindir: 
     if [ ! -d bin ];then \ 
      mkdir bin; \ 
     fi 

請注意,如果名爲在生成文件駐留在當前目錄下的bin目錄的存在,如果名爲bin目錄不存在,語句檢查它會創建它,如果它存在,它什麼都不做,但如果存在名稱爲bin的常規文件(不是目錄),則此規則將失敗。 建議您使用變量說BINDIR來存儲您的「bin」目錄的值,因爲這是一般規範遵循的,這對於維護makefile很有用。

BINDIR:=bin 
bindir: 
     if [ ! -d $(BINDIR) ];then \ 
      mkdir $(BINDIR); \ 
     fi