¿Cómo especifico un comando en la línea de comando de bash que se ejecutará una vez dentro del nuevo bash después de leer ~ / .bashrc - Pero todo esto sin dejar que bash salga después de que el comando haya terminado?
Estoy jugando con una "configuración de arranque" para el terminador donde algunas divisiones deberían iniciar algunas aplicaciones (vim, mutt, irrsi) después del inicio. Pero todavía quiero shells normales en segundo plano (ctrl-z y así sucesivamente ...) así que después de salir de una aplicación tengo el mismo shell que tuve durante la vida de las aplicaciones ...
Lo que no funciona para mí (según las respuestas dadas)
( bash; vim ) # vim waits for the exit of bash...
bash -c vim # bash exits after vims exit...
bash -c 'vim; exec bash' # bash is executed _after_ vim... ctrl-z won't work
echo vim | bash -s # "Vim: Warning: Input is not from a terminal"
Agregar manualmente "vim" a un bashrc temporal tampoco funciona. vim se inicia correctamente, pero todavía no hay un fondo de bash presente donde un ctrl-z me lleve.
¿Alguna sugerencia?
fuente
unset PROMPT_COMMAND
lugar de hacerloexport PROMPT_COMMAND=
.El
exec bash
sustituirá a la instancia Bash actual por uno nuevo.fuente
exec bash
.exec bash --login
ayuda, pero como se señaló, esto ejecuta bash dentro de bash, que no es realmente lo que queremos.(Ab) usar
.bashrc
es la única forma utilizable. Sin embargo, la generación 1 es innecesaria: simplemente coloque los comandos en una variable de entorno yeval
:Ponga lo siguiente al final de su
~/.bashrc
:Configure Terminator para iniciar este comando:
1 Excluyamos los de "usar C4 para romper una nuez".
fuente
Tuve este mismo problema en el contexto de querer generar vim en una ventana tmux con la capacidad de ctrl-z. Al final, no pude descubrir cómo hacerlo limpiamente dentro de bash. Me decidí por lo siguiente:
fuente
¡Gracias al usuario wor por el " archivo bashrc personalizado sobre la marcha "!
La otra parte crucial es " trap ", un bash-builtin:
No tengo idea de cuál es el "terminador" que mencionas, por cierto.
Encontré esto mientras buscaba una solución con bash y pantalla.
fuente