Eu quero mudar o formato rsyslog, então eu faço:
#!/bin/bash
_file="/etc/rsyslog.conf"
after_line='$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat'
syslog_format='$template precise,"%syslogpriority%,%timegenerated%,%HOSTNAME%,%syslogtag%,%msg%\n"'
add_config='$ActionFileDefaultTemplate precise'
sed -i """s/$after_line/$syslog_format\n$add_config/""" $_file
Mas estou recebendo
$template precise,"%syslogpriority%,%timegenerated%,%HOSTNAME%,%syslogtag%,%msg%
"
$ActionFileDefaultTemplate precise
em vez do que eu quero e a sintaxe correta é:
$template precise,"%syslogpriority%,%timegenerated%,%HOSTNAME%,%syslogtag%,%msg%\n"
$ActionFileDefaultTemplate precise
Portanto, o problema está em \n
- o novo símbolo de linha é inserido como uma nova linha, não apenas como um símbolo, como eu quero.