Como posso adicionar um caractere de nova linha (\n) entre duas variáveis Unix?
Tentei o seguinte, mas está sendo impresso em uma única linha em vez de linhas separadas.
h=hello
w=world
c="$h"$'\n'"$w"
echo $c
Output: hello world
Responder1
Sua solução funciona, mas você deve citar $c
sua instrução echo para que ela se expanda da maneira desejada.
Assim:
h=hello
w=world
c="$h"$'\n'"$w"
echo "$c"
No entanto, este é quase certamente um problema xy. O que você precisa realizar em última análise?
Como está, seria muito melhor apenas fazer:
h=hello
w=world
printf '%s\n' "$h" "$w"
Alternativamente, você pode usar a -e
opção de ecoar:
h=hello
w=world
c="${h}\n${w}"
echo -e "$c"