Pages

Saturday, July 12, 2008

Fast Scripting Tool

Spesso per risolvere determinati problemi d'ordine quotidiano mi capita di creare piccolo script shell appositi, da buon maniaco della linea di comando.
La procedura per creare uno script può risultare relativamente noiosa: creare un file con touch, renderlo eseguibile con chmod, modificarlo col proprio editor preferito, specificare in cima l'interprete ("#!/bin/bash" di solito)... ed è sempre la stessa solfa, piuttosto pallosa.
Soluzione: mi sono scritto uno script bash per creare altri script bash.
Ho anche fatto in modo di parametrizzarlo: il primo parametro è lo script da creare, il secondo l'interprete (opzionale, se non specificato di default va su "/bin/bash".
Ecco lo script, da piazzare magari in /usr/local/bin in modo da averlo nel path:
#!/bin/bash
function usage() {
echo "Usage: `basename $0` filename [interpreter path]"
exit 0
}


if test "x$1" == "x"; then
usage
fi

INTERPRETER="/bin/bash"

if test "x$2" != "x"; then
if ! [ -r $2 ]; then
echo "Error! Interpreter \"$2\"not found"
usage
else
INTERPRETER="$2"
fi
fi

cat >$1 <<EOF
#!$INTERPRETER

EOF

chmod +x $1
vim $1 +2




L'ultima riga in particolare apre vim, specificandogli anche su che riga piazzarsi.. per la precisione dopo la seconda, subito dopo la dichiarazione dell'interprete (così non si fa neanche la fatica di premere freccia-giù :P)

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.