Usando o read
construído em shell, você pode ler dados de stdin
e armazenar a entrada de leitura nas variáveis do shell:
$ echo foo bar baz | read a b c
$ echo $a
foo
$ echo $b
bar
$ echo $c
baz
Como você pode ver, read
splits é inserido nos campos. Onde a entrada é dividida é determinada pela variável $IFS
(o Input Field Seperator ). Ao definir $IFS
para o valor vazio, a divisão de entrada é desativada e você pode salvar uma linha completa em uma variável:
$ echo foo bar baz | IFS= read foo
$ echo $foo
foo bar baz