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

时间:2012-05-15 16:46:19

标签: bash shell directory

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

修改

例如,假设我的脚本在/testfolder文件夹中运行,该文件已知且不会更改。

/testfolder中还有另一个文件夹:/testfolder/randomfolder,该文件夹未知且可以更改。

如何找到/randomfolder的名称?

我希望它更清楚,抱歉让人感到困惑。

2 个答案:

答案 0 :(得分:9)

dirs=(/testfolder/*/)

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

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

echo "$dirs"

echo "${dirs[0]}"

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

for dir in "${dirs[@]}"
do
    echo "$dir"
done

答案 1 :(得分:5)

假设只有一个子目录:

dir=$(find . -mindepth 1 -maxdepth 1 -type d)

如果你没有找到GNU,那么

for f in *; do [[ -d "$f" ]] && { dir=$f; break; }; done