Tengo una PS1
que muestra el SHLVL si no es 1 para ver rápidamente si estoy en una subcapa. Esto funciona como se esperaba cuando uso GNOME, pero cuando genero una nueva terminal en Awesome WM (Mod4 +Regresar ) siempre comienza con SHLVL=2
o mas alto. ¿Es esto normal?
Esto está directamente relacionado con la cantidad de veces que he reiniciado Awesome (Mod4 +Ctrl +r o pkill -HUP awesome
). ¿Hay alguna forma de evitar generar nuevos proyectiles al reiniciar?
Estas confirmaciones parecen ser relevantes, ya que Awesome termina ejecutando algo como $SHELL -c ...
en HUP
, pero no sé lo suficiente de C para solucionarlo.
Mi /bin/sh
es dash
y mi shell de inicio de sesión es bash
.
Reportó el problema.
Respuesta aceptada:
Creo que entiendo el por qué, pero no tengo una solución completa.
El comportamiento de SHLVL
depende de la concha. En dash y ksh (tanto pdksh como ksh93), solo las instancias interactivas incrementan SHLVL
. En bash y zsh, todas las instancias incrementan SHLVL
, incluso bash -c …
.
Si observó un cambio en el comportamiento después de este parche, es probable que su /bin/sh
es guión y tu $SHELL
es bash. Antes, Awesome estaba ejecutando /bin/sh -c …
que no cambió SHLVL
. Después del parche, ahora está ejecutando $SHELL -c …
, es decir, bash -c …
, que incrementa SHLVL
.
Podrías hacer trampa cambiando SHLVL
dentro Impresionante. Engánchese al código de inicio para disminuir SHLVL
por 1. Estoy bastante seguro de que esto es posible sin volver a compilar el código C, aunque no conozco el código Lua.