检查目录是否包含特定子目录
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 的所有子目录
我正在尝试编写一个 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 的所有子目录