我在文件夹路径中。有一个名为 的文件夹dir
。里面还有一个文件夹dir
,但不知道名字。如何找到它并将其分配给变量。
PS:我想在多个文件夹上运行它,所以需要一个像上面一样工作的脚本。
答案1
set -- dir/*/
执行上述操作会将 设为$1
在 中找到的第一个目录的路径名dir
。$2
将是第二个的路径名,依此类推。并且$@
将是 中所有目录路径名的列表dir
。
/
请注意,末尾的尾随dir/*/
很重要。如果没有它,您也可能会获取常规文件的名称。
示例,给出以下情况:
.
`-- dir
|-- A
| `-- file2
|-- B
| `-- file2
|-- C
| `-- file2
`-- file1
$ set -- dir/*/
$ echo "$1"
dir/A/
$ printf '%s\n' "$@"
dir/A/
dir/B/
dir/C/
$ myfolder="$1"
$ printf 'My folder is "%s"\n' "$myfolder"
My folder is "dir/A/"