Ich stoße auf ein Problem, bei dem ich versuche, mithilfe von Skripten die Größe eines Terminals zu ermitteln. Normalerweise würde ich den Befehl tput cols
in der Konsole verwenden, aber ich möchte in der Lage sein, diese Funktion durch strikte Verwendung von Skripten zu erreichen.
Ab sofort kann ich die laufende Konsole erkennen und deren Dateipfad ermitteln. Ich bemühe mich jedoch, diese Informationen zu verwenden, um die Breite der Konsole zu ermitteln. Ich habe versucht, den Befehl zu verwenden tput
, aber ich bin ziemlich neu in Linux / Skripten, daher weiß ich nicht wirklich, was ich tun soll.
Der Grund dafür ist, dass ich in der Lage sein möchte, einen Cron- Eintrag einzurichten, der die Konsole von Zeit zu Zeit über seine Breite / Spalten benachrichtigt.
Das ist mein Code bisher:
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)
Die normale Ausgabe von TERMINAL
& TERMINALPATH
ist und zum Beispiel &pts/terminalnumber
/dev/pts/terminalnumber
pts/0
/dev/pts/0
cron
Jobs Kontrollterminals haben.