Antes dos arrays estarem em bash
, ksh
e outros shells, o método usual era escolher um delimitador que não estivesse em nenhum dos elementos (ou um que fosse incomum para minimizar qualquer escape necessário), e iterar sobre uma string contendo todos os elementos, separados por esse delimitador. O espaço em branco é geralmente a opção de delimitador mais conveniente porque o shell já divide "palavras" por espaço em branco por padrão (você pode definir o IFS se quiser dividir em algo diferente).
Por exemplo:
# backslash-escape any non-delimiter whitespace and all other characters that
# have special meaning to the shell, e.g. globs, parenthesis, ampersands, etc.
services='service1.service service2.service service3.service'
for s in $services ; do # NOTE: do not double-quote $services here.
START "$s"
done
$services
deve NÃO ser citado duas vezes aqui porque queremos o shell para dividi-lo em "palavras".