Shell 通过仅指定目录的部分名称来查找目录是否存在

Shell 通过仅指定目录的部分名称来查找目录是否存在,shell,Shell,我想通过将目录的部分名称作为参数来确定目录是否存在。i、 e如果一个名为/home/directory的目录存在,我想通过给出/home/direc来确定它是否存在* 在shell脚本中有什么方法可以做到这一点吗 我尝试了以下方法,但无效: directory=/home/direc* if [[ -d "$directory" ]]; then echo found; else echo not found fi 您可以使用“wc”来计算结果,并按如下方式进行: files=

我想通过将目录的部分名称作为参数来确定目录是否存在。i、 e如果一个名为/home/directory的目录存在,我想通过给出/home/direc来确定它是否存在*

在shell脚本中有什么方法可以做到这一点吗

我尝试了以下方法,但无效:

directory=/home/direc*
if [[ -d "$directory" ]]; then
        echo found;
else
echo not found
fi
您可以使用“wc”来计算结果,并按如下方式进行:

files=$(ls /home/dir* > /dev/null | wc -l)
if [ **"$files" != "0"** ]
then
echo "Dir exists"
else
echo "Doesn't exist"
fi
您可以使用“wc”来计算结果,并按如下方式进行:

files=$(ls /home/dir* > /dev/null | wc -l)
if [ **"$files" != "0"** ]
then
echo "Dir exists"
else
echo "Doesn't exist"
fi

如果/home/direc*匹配多次,即/home/directory和/home/director,该怎么办?我想你想在脚本中实现类似制表符完成的功能?没错。。基本上,我需要检查/usr/lib/jvm中是否存在具有特定版本的java文件夹。。有很多java版本,但我需要找到一个特定的版本,但我不知道它的subversion,所以我无法给出它的全名..为什么要使用[[-d“$directory”]]而不是[-d“$directory”]?请阅读一些双括号比较快的地方,如果/home/direc*匹配多次,即/home/directory和/home/director?我想你想在脚本中实现类似制表符完成的功能?没错。。基本上,我需要检查/usr/lib/jvm中是否存在具有特定版本的java文件夹。。存在许多java版本,但我需要找到一个特定的版本,但我不知道它的subversion,所以我无法给出它的全名..为什么使用[[-d“$directory”]]而不是[-d“$directory”]?请阅读双括号更快的地方