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;%sif [ "$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;%sif [ "$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?