set -- dir/*/
Fazer o acima definiria o $1
para o nome do caminho do primeiro diretório encontrado em dir
. $2
seria o nome do caminho do segundo, etc. E $@
seria a lista de todos os nomes de caminho de diretório em dir
.
Observe que o /
final no final de dir/*/
é significativo. sem isso, você possivelmente pegaria nomes de arquivos regulares também.
Exemplo, dado o seguinte:
.
'-- 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/"