Clonar la ruta es fácil si puede ejecutar su programa de terminal desde la línea de comandos. Suponiendo que esté usando xterm
, simplemente ejecute xterm &
desde el indicador del terminal que desea clonar. El nuevo xterm se iniciará en el mismo directorio, a menos que lo haya configurado para iniciarse como un shell de inicio de sesión. Cualquier variable de entorno exportada también se transferirá, pero las variables no exportadas no.
Una manera rápida y sucia de clonar todo el entorno (incluidas las variables no exportadas) es la siguiente:
# from the old shell:
set >~/environment.tmp
# from the new shell:
. ~/environment.tmp
rm ~/environment.tmp
Si ha configurado opciones de shell personalizadas, deberá volver a aplicarlas también.
Podría envolver todo este proceso en un script fácil de ejecutar. Haga que el script guarde el entorno en un archivo conocido y luego ejecútelo xterm
. Haga que su .bashrc verifique ese archivo, y descárguelo y elimínelo si lo encuentra.
Alternativamente, si no desea iniciar un terminal desde otro, o simplemente desea más control, podría usar un par de funciones que defina en .bashrc:
putstate () {
declare +x >~/environment.tmp
declare -x >>~/environment.tmp
echo cd "$PWD" >>~/environment.tmp
}
getstate () {
. ~/environment.tmp
}
EDITAR : Modificado putstate
para que copie el estado "exportado" de las variables de shell, para que coincida con el otro método. También se pueden copiar otras cosas, como las opciones de shell (ver help set
), por lo que hay espacio para mejorar este script.