2013-02-01 74 views
5

我想檢查一個參數是一個目錄還是一個文件。我想在每個目錄名稱後加一個/,並在每個可執行文件之後加一個*。我知道ls使用-F來獲取這些信息,但我無法在腳本中找到它。檢查參數是否是文件或目錄

這裏是我的代碼:

echo -n "Please enter Directory name you wish to search: " 
read dir 

for filename in "/home/me/Desktop/$dir"/* 

do 

    if (-F $filename) 
    then 
    echo $filename 

    fi 
done 

回答

9

[ -f "$filename" ]是文件也是如此,[ -d "$dirname" ]是目錄真。

+0

改變我的代碼後,我不斷收到錯誤 – Tomala

+0

@Tomala:什麼錯誤?你是如何改變你的代碼的? – choroba

+0

我的意思是沒有錯誤,但它不顯示目錄的「/」和文件的「*」,就像當我輸入ls -F時一樣。有任何想法嗎 ? ? – Tomala

相關問題