Enquanto a linha lê mantendo espaços de escape?

0

Estou executando um loop em cada linha de um arquivo.

if [ -e "/tmp/history" ]; then
  while read line; do
    connect.sh $line \
      && break
  done </tmp/history
fi

O arquivo é formatado como:

user\ name user\ password

Para que cada linha contenha $1 e $2 para connect.sh .

Ainda assim, com o meu loop while, $line perde as quebras de linha antes de passar para connect.sh , de forma que user\ name se torne user name .

Existe uma maneira de modificar meu loop while para manter as quebras de linha?

    
por Philip Kirkbride 22.11.2017 / 17:29

1 resposta

1

Consegui corrigir o problema adicionando o sinal -r e duplicando a variável.

if [ -e "/tmp/history" ]; then
  while read -r line; do
    connect.sh "$line" \
      && break
  done <"/tmp/history"
fi

Similar à pergunta SO .

    
por 22.11.2017 / 17:33

Tags