if [ `tty` ] ; then echo 'Estamos en consola' else xterm -e "echo No estamos en consola; read" echo 'No estamos en consola' fi
Colocando esta linea en la cabecera de un script conseguimos detectar si estamos en consola, y en caso de no estarlo nos lanza una terminal
[[ `tty` ]] || ( ( exec ${TERM:-xterm} -e "$0 $* ; read" & ) ; exit )
Con ${TERM:-xterm} en caso de tener una terminal definida se lanzara con ella sino con xterm