Me encuentro con un problema en el que intento obtener el tamaño de un terminal mediante el uso de scripts. Normalmente usaría el comando tput cols
dentro de la consola, sin embargo, quiero poder lograr esta característica usando estrictamente scripts.
A partir de ahora puedo detectar la consola en ejecución y obtener su ruta de archivo. Sin embargo, estoy luchando por usar esta información para obtener el ancho de la consola. Intenté usar el comando tput
, pero soy bastante nuevo en Linux / scripts, por lo que no sé qué hacer.
La razón para hacer esto es que quiero poder configurar una entrada cron que notifique a la consola su ancho / columnas de vez en cuando.
Este es mi código hasta ahora:
tty.sh
#!/bin/bash
#Get PID of terminal
#terminal.txt holds most recent PID of console in use
value=$(</home/test/Documents/terminal.txt)
#Get tty using the PID from terminal.txt
TERMINAL="$(ps h -p $value -o tty)"
echo $TERMINAL
#Use tty to get full filepath for terminal in use
TERMINALPATH=/dev/$TERMINAL
echo $TERMINALPATH
COLUMNS=$(/home/test/Documents/get_columns.sh)
echo $COLUMNS
get_columns.sh
#!/usr/bin/env bash
echo $(/usr/bin/tput cols)
La salida normal de TERMINAL
& TERMINALPATH
are y , por ejemplo &pts/terminalnumber
/dev/pts/terminalnumber
pts/0
/dev/pts/0
cron
trabajos tuvieran terminales de control.