Sto utilizzando m4 per creare alcuni macro di base e mi rendo conto che quando si utilizza esyscmd
c'è una nuova riga finale aggiunta a una stringa quando viene eseguito il comando.Rimuovi newline finale da esyscmd in m4
Esempio:
define(MY_HOSTNAME, esyscmd(`hostname'))
MY_HOSTNAME
Some other text...
Renders:
> my.host.name
>
> Some other text...
(completo di una nuova linea di trascinamento)
Aggiungendo dnl
alla fine della define (o esyscmd) nulla sembra capita e c'è ancora una nuova riga finale.
Qual è il modo migliore per rilasciare il newline finale quando si chiama esyscmd
in m4?
Hm, dalla shell dovrei 'echo -n \' hostname \ '' ... – Wrikken
@Wrikken vorrei inviare il tuo commento come risposta. è perfettamente valido e una buona alternativa ai devnulls – ldgorman