Attualmente sto scrivendo un framework di test bash, che richiede di essere il più portabile possibile.Cos'è più portatile? echo -e o usando printf?
Quindi, a un certo punto, ho dovuto stampare una nuova riga iniziale seguita da un testo che contiene diverse variabili espanse. Questa è la soluzione che ho usato.
echo -e "\n$number_of_specs ${units}, $number_of_specs_failed failed"
Questo sembra a posto ma non sono sicuro di come portatile che viene confrontato con la stampa la linea utilizzando per esempio printf
?
Eventuali idee o suggerimenti in cui sono stati trovati riferimenti?
Con 'portatile' , intendi portabile tra varie shell (che significa non bash) o tra varie versioni di bash? –
Non è chiaro come un framework di test di bash debba essere compatibile con qualsiasi cosa che non sia bash. Immagino che il tuo punto sia che alcuni SO non hanno printf, e in quanto tale non fa davvero parte di bash, ma fornisce incompatibilit? Hai esaminato i costi di compatibilità del lavoro nell'implementazione di autoconf e ./configure? Perché non solo alcuni test in alto, 'if [[! -f/bin/printf]]; echo -e "per favore avere printf installato prima di eseguire il resto di questo script"; fi '?? In bocca al lupo. – shellter
Credo che 'printf' sia tecnicamente ancora più portabile perché il comportamento predefinito' xpg_echo' può variare tra le piattaforme anche all'interno di Bash (quindi è possibile impostarlo esplicitamente se lo si desidera realmente.) – ormaaj