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/"