如何以不同的方式将目录列为Bash脚本中的普通文件?

时间:2015-10-22 15:41:54

标签: bash shell unix scripting

我正在寻找一个读取文件的bash脚本,并检查它是普通文件还是目录。

如果它是可读的,则显示该文件,但如果它是目录,则列出该目录。

我的目标是使用相同的工具/软件API处理Unix中的文件和目录。

1 个答案:

答案 0 :(得分:0)

脚本很简单。重要的是要知道,它还会检查它们是否是符号链接(因此,在符号链接的情况下,它无法正常工作)。

if [ -f "$1" ]
then
  echo "$1"
elif [ -d "$1" ]
then
  ls "$1"
else
  echo "$1 does not exist" >&2
  exit 1
fi

您可以将其包含在一个shellcript函数中,也可以将其添加到另一个工具中。

manual page of the bash只对第一个位置很复杂,实际上它有一个非常清晰的结构,并且bash不是那么复杂,不容易学习。