Je rencontre un problème où j'essaie d'obtenir la taille d'un terminal à l'aide de scripts. Normalement, j'utiliserais la commande tput cols
à l'intérieur de la console, mais je veux pouvoir accomplir cette fonctionnalité en utilisant strictement des scripts.
À partir de maintenant, je peux détecter la console en cours d'exécution et obtenir son chemin de fichier. Cependant, j'ai du mal à utiliser ces informations pour obtenir la largeur de la console. J'ai essayé d'utiliser la commande tput
, mais je suis relativement nouveau sur Linux / scripts, donc je ne sais pas vraiment quoi faire.
La raison pour cela est que je veux pouvoir configurer une entrée cron qui informe la console de sa largeur / colonnes de temps en temps.
Voici mon code jusqu'à présent:
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 sortie normale de TERMINAL
& TERMINALPATH
are et , par exemple &pts/terminalnumber
/dev/pts/terminalnumber
pts/0
/dev/pts/0
cron
emplois avaient des terminaux de contrôle.