\jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
O que seu script realmente produziu é
-
-Djdbc.driverClassName=oracle.jdbc.driver.OracleDriver
- um retorno de carro
-
\
(observe o espaço) - uma nova linha
Por que seu roteiro imprimiu um retorno de carro? Porque o arquivo de entrada não possui novas linhas de convenção Unix, mas tem CRLFs, e o retorno de carro no final de cada linha foi considerado parte da segunda variável de matriz.
Por que os espaços em branco como um retorno de carro estão sendo anexados a uma variável por read
? Porque você mudou IFS
.
Algumas palavras para o sábio:
- Use
printf
, nãoecho
- especialmente , como aqui, quando você passarecho
itens que se parecem com opções de linha de comando e itens com barras invertidas. - Diagnostique esses tipos de problemas passando a saída por
hexdump -C
,cat -v
ouod -t c -t x1
. - Se você não tiver
dos2unix
, será fácil fazer o equivalente atr
,sed
ouperl
.