Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash-如何获取当前文件夹中的文件夹名称?_Bash_Shell_Directory - Fatal编程技术网

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

Bash-如何获取当前文件夹中的文件夹名称?,bash,shell,directory,Bash,Shell,Directory,假设我的脚本在一个文件夹中运行,在这个文件夹中有另一个文件夹,它的名称可以在每次运行脚本时更改。如何找到该文件夹的名称 编辑: 例如,假设我的脚本正在文件夹/testfolder中运行,该文件夹是已知的,不会更改 在/testfolder中有另一个文件夹:/testfolder/randomfolder,该文件夹未知,可以更改 如何查找/random文件夹的名称 我希望它更清晰,抱歉造成混淆。假设只有一个子目录: dir=$(find . -mindepth 1 -maxdepth 1 -typ

假设我的脚本在一个文件夹中运行,在这个文件夹中有另一个文件夹,它的名称可以在每次运行脚本时更改。如何找到该文件夹的名称

编辑

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

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

如何查找
/random文件夹的名称


我希望它更清晰,抱歉造成混淆。

假设只有一个子目录:

dir=$(find . -mindepth 1 -maxdepth 1 -type d)
如果你没有找到GNU,那么

for f in *; do [[ -d "$f" ]] && { dir=$f; break; }; done
dirs
将是一个数组,其中包含作为
/testfolder
直接子目录的每个目录的名称

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

echo "$dirs"

如果有多个,并且您希望迭代它们:

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

举个例子有助于说明问题。在运行sript时,您对文件夹的名称了解多少?换句话说,您的脚本如何知道要查找哪个文件夹?还是只有一个?@ColinD,
echo "${dirs[0]}"
for dir in "${dirs[@]}"
do
    echo "$dir"
done