[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Ler linha com espaços no início
From: |
Elder Marco |
Subject: |
Re: [shell-script] Re: Ler linha com espaços no início |
Date: |
Tue, 13 Nov 2012 13:08:03 -0200 |
2012/11/12 Julio C. Neves <address@hidden>:
> Eu tinha tanta certeza do que falava, que nem testei. Qdo vi o site que
> postaram aqui na lista e que falava sobre o read, fiz uma massa de testes e
> vi que realmente ele capa os espaços iniciais e finais (isso é bug!). Já
> fiz uma anotação para colocar na próxima impressão do meu livro.
>
Júlio,
Aparentemente os desenvolvedores do bash estão cientes disso. Lendo
com mais atenção
a ajuda do comando read, notei que este comando não lê exatamente uma
linha --- como eu
esperava ---, mas sim as palavras nesta, atribuindo as variáveis
correspondentes.
Para saber onde começa e onde acaba uma palavra, os comando read considera como
delimitadores aquilo que está presente na variável IFS. Veja:
Read a line from the standard input and split it into fields.
Reads a single line from the standard input, or from file descriptor FD
if the -u option is supplied. The line is split into fields as with word
splitting, and the first word is assigned to the first NAME, the second
word to the second NAME, and so on, with any leftover words assigned to
the last NAME. Only the characters found in $IFS are recognized as word
delimiters.
Dessa maneira, se o comportamento padrão do comando read fosse
alterado, ele poderia
gerar resultados inesperados. Talvez fosse uma boa ideia -- eu acho --
existir algum builtin
que lesse a linha por completo, sem remover nenhum caractere dela. Ou
ainda, existir
alguma opção para este comando que mudasse esse comportamento. Mas mesmo
não existindo, setar o IFS como sendo '' já resolve o problema.
--
Elder Marco
GNU/Linux User: #471180
"Contra o positivismo, que pára perante os fenômenos e diz: 'Há apenas
fatos', eu digo: 'Ao contrário, fatos é o que não há; há apenas
interpretações'. "(Nietzsche)
- Re: [shell-script] Re: Ler linha com espaços no início, (continued)
- Re: [shell-script] Re: Ler linha com espaços no início, Elder Marco, 2012/11/08
- Re: [shell-script] Re: Ler linha com espaços no início, Julio C. Neves, 2012/11/09
- Re: [shell-script] Re: Ler linha com espaços no início, Elder Marco, 2012/11/09
- Re: [shell-script] Re: Ler linha com espaços no início, Alysson Gonçalves de Azevedo, 2012/11/09
- Re: [shell-script] Re: Ler linha com espaços no início, Alysson Gonçalves de Azevedo, 2012/11/09
- Re: [shell-script] Re: Ler linha com espaços no início, Alysson Gonçalves de Azevedo, 2012/11/09
- Re: [shell-script] Re: Ler linha com espaços no início, Julio C. Neves, 2012/11/10
- Re: [shell-script] Re: Ler linha com espaços no início, Fredi Bieging, 2012/11/10
- Re: [shell-script] Re: Ler linha com espaços no início, Elder Marco, 2012/11/12
- Re: [shell-script] Re: Ler linha com espaços no início, Julio C. Neves, 2012/11/12
- Re: [shell-script] Re: Ler linha com espaços no início,
Elder Marco <=
- Re: [shell-script] Re: Ler linha com espaços no início, Julio C. Neves, 2012/11/13
- Re: [shell-script] Re: Ler linha com espaços no início, Elder Marco, 2012/11/14
- Re: [shell-script] Re: Ler linha com espaços no início, Enilton Angelim, 2012/11/14
- Re: [shell-script] Re: Ler linha com espaços no início, Julio C. Neves, 2012/11/15