linux - 检查参数是文件还是目录

标签 linux bash shell unix ubuntu-12.04

我正在尝试检查参数是目录还是文件。我想在每个目录名后面放一个/,在每个可执行文件后面放一个 *。我知道 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

最佳答案

[ -f "$filename"] 适用于文件,[ -d "$dirname"] 适用于目录。

关于linux - 检查参数是文件还是目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14656080/

相关文章:

c++ - 是否可以将 STL multimap value_type 函数与多参数 C++ 构造函数一起使用

linux - 为每个进程/服务创建 iptables 规则

C语言字符错误

linux - 当使用expect脚本中的交互处理ssh时,如何隐藏或编辑关闭ssh时的消息

bash - 我如何检查 ubuntu 上是否安装了 gnupg,如果没有安装,如何运行 shell 脚本来安装它?

linux - Docker : Run an automatically determined amount of containers

linux - 如何使用 -ggdb 标志编译 linux 内核模块

macos - 将文件创建日期更新 x 天 Mac OSX

macos - 使用变量创建 Mac 终端脚本

python - 为每一行运行脚本并根据输出执行某些操作