小编Hum*_*gar的帖子

检查外壳脚本的子目录中是否存在目录

什么命令使用Shell脚本检查目录是否在另一个路径中?

我对此进行了搜索,但我能找到的只是检查“当前”目录中是否存在目录。

if [ -d "$DIRECTORY" ]; then
  # found "any" directory
fi
Run Code Online (Sandbox Code Playgroud)

当我想知道另一个目录中是否存在“ any”目录时,这不能满足要求。

if [ -d "./PATH/$DIRECTORY" ]; then
  # found "any" directory in subdirectory
fi
Run Code Online (Sandbox Code Playgroud)

显然这没有用。这仍然从当前工作目录中进行检查,而不是从我给出的路径中进行检查。

有什么建议么?

我想在if条件下使用它,因此回答保留该表格将很有帮助。

编辑

在shell脚本中,我添加了以下内容:

#!/bin/bash

ls -ld ./smth/world/
echo DIRECTORY=$DIRECTORY

if [ -d "./smth/$DIRECTORY/" ]; then
   echo hi
else
   echo nope
fi
Run Code Online (Sandbox Code Playgroud)

在当前目录中,我有一个名为“ smth”的目录。在“ smth”中,我创建了一个虚拟目录“ world”

编辑#2

在路径前面添加点后,得到以下信息:

drwxrwxr-x 2 (myname) (myname) 4096 Sep  5 14:39 ./smth/world/
DIRECTORY=
found
Run Code Online (Sandbox Code Playgroud)

但是,在删除smth目录中的world目录之后,仍然会找到“ found”。

unix directory shell

1
推荐指数
1
解决办法
3104
查看次数

标签 统计

directory ×1

shell ×1

unix ×1