Haciendo el SH de HPUX más parecido al BASH

shebangCada tipo de shell tiene sus particularidades y seguramente sus ventajas respecto a otras, pero para alguien acostumbrado a manejarse en Bash puede resultar algo incómodo enfrentarse de repente a un HPUX donde no sólo no disponemos de Bash si no que el manejo de la que se nos ofrece por defecto no tiene nada que ver.

Si estás a gusto manejando vi seguramente también lo estés en HPUX ya que necesitarás usar los mismos comandos.

Si a pesar de todo sigues prefiriendo poder hacer cosas como manejarte por los caracteres y el histórico de comandos con las teclas de dirección o borrar con la tecla backspace, ésta es la solución:


stty kill "^U" intr "^C" erase "^?" eof "^D" susp "^Z" dsusp "^Y" \
hupcl ixon ixoff cs8 -istrip
umask 027
export PATH=$PATH:/sbin
EDITOR=vi ; export EDITOR
# Enable usage of arrow keys in command line
# If not set, use (Esc-K/Esc-J for command repeat)
set -o emacs
alias __A=`echo "\020"` # up arrow = back a command
alias __B=`echo "\016"` # down arrow = down a command
alias __C=`echo "\006"` # right arrow = forward a character
alias __D=`echo "\002"` # left arrow = back a character
alias __H=`echo "\001"` # home = start of line 
alias __Q=`echo "\005"` # end = end of line 
# Some sets for vi & avoid exit on Ctrl-d
set -o ignoreeof

Añade ese código a tu .profile o guárdalo en cualquier otro archivo y haz un source del mismo cuando necesites cambiar el funcionamiento del shell. Por ejemplo si lo guardas en /home/usuario/.bashlike, haz source con el siguiente comando:

. /home/usuario/.bashlike

Fíjate que empieza por un punto seguido de un espacio, y luego el fichero.

Lo más cómodo obviamente es meterlo en el .profile, pero puede que la máquina en la que estés trabajando no sea “tuya” si no que te encuentres en la oficina de un cliente donde quieres poder trabajar a gusto pero sin modificar la configuración de otro usuario.

El funcionamiento sigue sin ser exacto a Bash (por ejemplo para autocompletar sigues teniendo que pulsar Esc dos veces en vez del tabulador) pero se acerca lo suficiente.