${var:-x}
significa "se var não estiver definido ou vazio, substitua-o por x". Como tal, depende do que você quer dizer com "mak [ing] um loop".
Se você fizer um loop dividindo em $IFS
, então sim, você pode usar isso para criar uma variável para um loop. No entanto, se é isso que você quer fazer, recomendo usar uma matriz ksh:
if [ "$#" -eq 0 ]; then
set -A sta blabla blabla2 blabla3 # ksh88/pdksh/mksh/ksh93
sta=(blabla blabla2 blabla3) # ksh93/mksh
else
sta=("$@") # use the positional parameters if provided
fi
for x in "${sta[@]}"; do [...]