2013-02-01 99 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

相关问题