¿Puedo modificar los títulos de las ventanas de iTerm para algunos pero no todos los comandos en ejecución?

2

Estaba buscando una solución para establecer automáticamente el título personalizado en el terminal en función de qué comando se está ejecutando en el terminal actual. Así que, en lugar de que Java se muestre en muchas pestañas, me encantaría que seleccionara el programa Java que se está ejecutando, no todo lo que dice, solo java.

Encontré muy respuestas interesantes y diferentes sin embargo, no es completamente útil para mi requerimiento

actualmente, he escrito debajo de la línea en ~/.bash_profile

trap 'printf "3]0;%s
if [ "$SHELL" = '/bin/bash' ]
then
    case $TERM in
         rxvt|*term)
            set -o functrace
            trap 'echo -ne "\e]0;"; echo -n $BASH_COMMAND; echo -ne "
settitle () {
    export PREV_COMMAND=${PREV_COMMAND}${@}
    echo -ne "3]0;${PREV_COMMAND}
trap 'printf "3]0;%s
if [ "$SHELL" = '/bin/bash' ]
then
    case $TERM in
         rxvt|*term)
            set -o functrace
            trap 'echo -ne "\e]0;"; echo -n $BASH_COMMAND; echo -ne "
settitle () {
    export PREV_COMMAND=${PREV_COMMAND}${@}
    echo -ne "3]0;${PREV_COMMAND}%pre%7"
    export PREV_COMMAND=${PREV_COMMAND}' | '
}

export PROMPT_COMMAND=${PROMPT_COMMAND}';export PREV_COMMAND=""'
7"' DEBUG export PS1="\e]0;$TERM%pre%7$PS1" ;; esac fi
7" "${BASH_COMMAND//[^[:print:]]/}"' DEBUG
7" export PREV_COMMAND=${PREV_COMMAND}' | ' } export PROMPT_COMMAND=${PROMPT_COMMAND}';export PREV_COMMAND=""'
7"' DEBUG export PS1="\e]0;$TERM%pre%7$PS1" ;; esac fi
7" "${BASH_COMMAND//[^[:print:]]/}"' DEBUG

que funciona bastante bien en ** iTerm2 ** pero muestra el comando completo como un título, pero quiero el argumento específico o parte de la cadena de comando como un título

Supongamos que ejecuto este comando en la terminal

  

sudo java - jar xyz_service / build / lib / xxx_snapshot.jar

y el título del terminal se está configurando tal como está, pero solo quiero establecer xyz_service como título

nota: el comando anterior siempre muestra update_terminal_cwd como un título en el terminal de shell bash predeterminado

mis otros ensayos que no funcionan aunque

%pre%

esto tampoco funciona

%pre%

Mi entorno es:

  • macOS HighSierra v 10.13.3
  • iTerm2 build 2.15
  • shell is bash v 2.8 (400)

¿Puedo hacer esto sin un alias envoltorio en bash que establece explícitamente el nombre de la variable?

    
pregunta pro.mean 24.03.2018 - 18:26

0 respuestas

Lea otras preguntas en las etiquetas