检查目录是否包含特定子目录

Check if a directory contains a particular subdirectory

我正在尝试编写一个 shell 脚本,用于检查给定目录是否包含特定命名的子目录。我将 Parent 目录作为第一个参数传递,并且只传递 child 目录的名称。我希望脚本遍历 Parent 的内容并查看它是否包含目录类型的文件,该文件以我为 Child.

传递的名称命名

这是我的代码。在其中,我试图将 Parent 上的 ls 的输出通过管道传递给 egrep 命令。我正在尝试编写一个正则表达式来检查 ls 的输出是否具有匹配的名称(不完全相同。只是在其名称的某处)我的 child name.

PARENT=
CHILD=

DIRNUM=$(ls -l $PARENT | egrep -c '< $CHILD >')
echo $DIRNUM

不要这样做。 Don't parse ls.

直接用 [/test built-in/command 检查 file/directory。

path=$parent/$child
if [ -d "$path" ]; then
    echo "$path exists."
else
    echo "$path does not exist."
fi

您会注意到我在变量名上切换了大小写。 ALL_UPPER 变量是 "reserved" 用于 shell 的使用你不应该使用任何。

使用如下查找命令:

# find $parent -name \*${child}\* -and -type d

类型选项是为了确保找到的名称是一个目录。

此命令将查找 $parent 中名称中包含 $child 的所有子目录