Eu encontrei isso para obter a entrada do usuário na linha de comando. Mas está falhando em reconhecer os novos caracteres de linha que coloquei na entrada. Fazendo:
#!/bin/bash
read -e -p "Multiline input=" variable;
printf "'variable=%s'" "${variable}";
- Digitar
'multi\nline'
emMultiline input=
faz aprintf
saída'variable=multinline'
- Digitar
'multi\\nline'
emMultiline input=
faz aprintf
saída'variable=multi\nline'
Como printf
posso imprimir a nova linha que li read -p
, ou seja, saída
multi
line
Em vez de multinline
ou multi\nline
?
Perguntas relacionadas:
- O que a opção -p faz no comando read?
- bash: leia: como capturar o caractere '\n' (nova linha)?
- shell: leia: diferencie entre EOF e nova linha
- https://stackoverflow.com/questions/4296108/how-do-i-add-a-line-break-for-read-command
- Ler argumentos separados por nova linha
- https://stackoverflow.com/questions/43190306/how-to-add-new-line-after-user-input-in-shell-scripting