Estoy usando la línea de comando bash en OSX. Sé que la secuencia de escape ANSI \ 033 [21t recuperará el título de la ventana del terminal actual. Así, por ejemplo:Cómo capturar el título de una ventana de terminal en bash usando secuencias de escape ANSI?
$ echo -ne "\033[21t"
...sandbox...
$ # Where "sandbox" is the title of the current terminal window
$ # and the ... are some extra control characters
Lo que me gustaría hacer es capturar esta información mediante programación en una secuencia de comandos, pero no puedo encontrar la manera de hacerlo. Lo que el script captura solo la secuencia de escape ANSI en bruto. Así, por ejemplo adicional, este pequeño script Ruby:
cmd = 'echo -ne "\033[21t"'
puts "Output from echo (directly to terminal):"
system(cmd)
terminal_name=`#{cmd}`
puts "\nOutput from echo to variable:"
puts terminal_name.inspect
produce el siguiente resultado:
Output from echo (directly to terminal):
^[]lsandbox^[\
Output from echo to variable:
"\e[21t"
me gustaría la información en el segundo caso para que coincida con la información mostrada en el terminal, pero en cambio, todo lo que obtengo es la secuencia de comando sin procesar. (He intentado usar system() y capturar el resultado en un archivo, eso tampoco funciona). ¿Alguien sabe cómo hacer que esto funcione?