Eu preciso criar um bash que receba a entrada do usuário e insira-os em uma matriz até que o usuário insira uma coisa específica. por exemplo, se eu executar o script:
enter variables: 3 4 7 8 ok
eu recebo esta matriz:array=( 3 4 7 8 )
ou:
enter variables: 15 9 0 24 36 8 1 ok
eu recebo esta matriz:array=( 15 9 0 24 36 8 1 )
como posso conseguir isso?
Com nova linha como separador padrão:
Se você quiser um caractere diferente de nova linha, por exemplo
y
:Você só pode usar um único caractere como delimitador com
read
.EDITAR:
Uma solução que funciona com o
ok
delimitador:Nota: Esta versão também aceita entrada do formulário
3 4 7 8ok
(sem o último caractere de espaço), mas a edição de linha com caracteres especiais como Delou Backspacenão funciona. Eles são tratados como entrada bruta.