Links

Upgradear a TTY Interactiva

Listar shells en el sistema

Necesitamos saber la shell en la que estamos actualmente y las shells que hay disponibles en el sistema.
# 1º - ¿En qué shell estamos?
echo $0
echo $SHELL
# 2º - ¿Qué shells hay disponibles en el OS?
cat /etc/shells

Listar binarios upgradear

# Listar los binarios utilizados para upgradear shells
which python python2 python3 python2.7 python2.6 python3.6 python3.7 perl ruby lua irb vi vim nap

Con Python

# Especificar la versión de python que corresponda
python3 -c 'import pty; pty.spawn("/bin/bash")'

Con el Sistema

# Método 1
echo os.system('/bin/bash')
# Método 2
/bin/bash -i

Con Perl

# Método 1
perl —e 'exec "/bin/bash";'
# Método 2 (Desde un script PERL)
exec "/bin/bash";

Con Ruby

# Método 1 (Desde un script RUBY)
exec "/bin/bash"

Con Lua

# Método 1 (Desde un script LUA)
os.execute('/bin/bash')

Con IRB

# Método 1 (Desde dentro del propio IRB)
exec "/bin/bash"

Con Vi/Vim

# Método 1 (Desde dentro de Vi/Vim)
:!bash
# Método 2 (Desde dentro de Vi/Vim)
:set shell=/bin/bash:shell

Con Nmap

# Método 1 (desde dentro de Nmap)
# 1. Entramos en modo interactivo
nmap --interactive
# 2. Ejecutamos desde dentro
!sh

Upgradear Shell

# Ponemos la sessión en background
Ctrl+Z
# Suprimimos el echo de nuestra terminal y traemos la sessión de vuelta al foreground
stty raw -echo; fg
# Lanzamos un pwd para comprobar dónde estamos y obtener un output
pwd
# Exportamos las variables
export SHELL=/bin/bash; export TERM=screen
# Ajustamos los valores de la nueva shell y reseteamos
stty rows 38 columns 180; reset