Bash - 如何在当前文件夹中获取名称文件夹?

mik*_*e23 3 directory bash shell

假设我的脚本在一个文件夹中运行,并且在这个文件夹中是一个anther文件夹,其名称可以在每次运行脚本时更改.如何找到该文件夹​​的名称?

编辑:

举个例子,假设我的脚本在文件夹中运行,该文件/testfolder已知并且不会更改.

/testfolder另一个文件夹:/testfolder/randomfolder,它是未知的,可以更改.

我怎么找到这个名字/randomfolder

我希望它更清楚,抱歉这令人困惑.

Pau*_*ce. 10

dirs=(/testfolder/*/)
Run Code Online (Sandbox Code Playgroud)

dirs将是一个数组,其中包含每个目录的名称,该目录是其直接子目录/testfolder.

如果只有一个,你可以像这样访问它:

echo "$dirs"
Run Code Online (Sandbox Code Playgroud)

要么

echo "${dirs[0]}"
Run Code Online (Sandbox Code Playgroud)

如果有多个并且您想迭代它们:

for dir in "${dirs[@]}"
do
    echo "$dir"
done
Run Code Online (Sandbox Code Playgroud)


gle*_*man 6

假设只有一个子目录:

dir=$(find . -mindepth 1 -maxdepth 1 -type d)
Run Code Online (Sandbox Code Playgroud)

如果你没有找到GNU,那么

for f in *; do [[ -d "$f" ]] && { dir=$f; break; }; done
Run Code Online (Sandbox Code Playgroud)