Use a expansão de contraventamento se você tiver um shell que suporte:
for d in sd{1..2}; do
( cd "$d" && dostuff )
done
Com zsh
, ksh93
ou yash -o braceexpand
(mas não bash
), você pode fazer
n=4
for d in sd{1..$n}; do
( cd "$d" && dostuff )
done
Pergunta relacionada: Posso usar variáveis dentro da expansão {}? sem 'eval'?
Uma variação disso seria
for (( i=1; i<=n; ++i )); do
str="sd$i"
( cd ... )
done
Este é o loop for
do estilo C suportado por bash
e outras shells (ainda uma extensão para o padrão POSIX).