Sto cercando qualcosa di simile a indent ma per gli script (bash). Solo console, senza colorazione, ecc.Pretty-print per script di shell
Conosci uno?
Sto cercando qualcosa di simile a indent ma per gli script (bash). Solo console, senza colorazione, ecc.Pretty-print per script di shell
Conosci uno?
Vim può far rientrare gli script di bash. Ma non riformattarli prima di indentare.
Eseguire il backup dello script bash, aprirlo con vim, digitare gg=GZZ
e il rientro verrà corretto. (Nota per gli impazienti: questo sovrascrive il file, quindi assicuratevi di fare quel backup!)
Tuttavia, alcuni bug con <<
(aspettandosi EOF come primo carattere su una riga) ad es.
EDIT: ZZ non ZQ
Ah uomo! +1000 se potessi. – Jamie
trovato questo http://www.linux-kheops.com/doc/perl/perl-aubert/fmt.script.
Molto bello, solo una cosa che ho eliminato è la [...] -> sostituzione del test.
Il link che hai postato non è più raggiungibile. – Myz
In bash faccio questo:
source <(echo "Zibri() {";cat script_to_be_reindented.sh; echo "}")
declare -f Zibri| cut -c 5-|head --lines=-1|tail --lines=+3
questo elimina i commenti e reindents lo script "via bash". non funzionerà se lo script contiene HEREDOCS, ma se si esegue questa operazione:
source <(echo "Zibri() {";cat script_to_be_reindented.sh; echo "}")
declare -f Zibri|head --lines=-1|tail --lines=+3
che possa funzionare con qualsiasi script, ma l'intero script sarà rientrata da 4 spazi. sentiti libero di modificare, ma cita il mio nome nella sceneggiatura e pubblicalo! : D
Considerate anche di mettere le vostre risposte in [questa domanda più generale] (http://stackoverflow.com/questions/3923301/what-applications-do-you-know-of-that-can-reformat-code) – Benoit