Sto riscontrando un problema in cui sto cercando di ottenere le dimensioni di un terminale utilizzando gli script. Normalmente userei il comando tput cols
all'interno della console, tuttavia voglio essere in grado di realizzare questa funzione usando rigorosamente gli script.
A partire da ora sono in grado di rilevare la console in esecuzione e ottenere il suo percorso di file. Tuttavia, faccio fatica a usare queste informazioni per ottenere la larghezza della console. Ho provato a usare il comando tput
, ma sono abbastanza nuovo su Linux / script, quindi non so davvero cosa fare.
Il motivo per questo è che voglio essere in grado di impostare una voce cron che notifica la console della sua larghezza / colonne ogni tanto.
Questo è il mio codice finora:
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)
Il normale output di TERMINAL
& TERMINALPATH
are e , ad esempio &pts/terminalnumber
/dev/pts/terminalnumber
pts/0
/dev/pts/0
cron
lavori avessero terminali di controllo.