Heredocs ha anche un'opzione con rientro a schede. Questo ti permette di prefigurare ogni riga di codice con qualsiasi numero di schede - e quelle saranno "mangiate" in uscita, a sinistra a giustificare il tuo output. Notare che il trailing 'EOF' (in questo esempio) DEVE essere completamente rientrato a sinistra - il 'EOF' non può essere indentato da tabulazioni.
Fare attenzione agli editor che convertono i caratteri di tabulazione in spazi (ad esempio, l'opzione "vi" è "expandtab" che converte le schede in spazi). Sfortunatamente, più spazi non sono "mangiati" come lo sono le schede. Se si utilizza 'expandtab' (o opzioni simili) per la formattazione del codice, non è probabile che il metodo del rientro della scheda heredoc sia utile.
Nell'esempio seguente, "< < -" è la sintassi per un heredoc per onorare i rientri della scheda.
Esempio:
cat <<-EOF
usage.sh [options]
-h| --help this is some help text.
this is more help text.
-1|--first-option this is my first option
-2|--second-option this is my second option
EOF
noti che ci sono "schede" di fronte al "gatto", e le linee successive - formattazione HTML qui è probabile che non sta per consentire di Cut-n-incollare l'esempio .
Nota come la terminazione "EOF" è giustificata a sinistra.
Sì, lo sapevo già. Semplicemente non mi piace la formattazione nel file sorgente, ma forse farò semplicemente una funzione di "utilizzo" e la chiamerò nel mio caso switch e andrò da lì. Non mi piace davvero la formattazione a volte in bash. – flamusdiu