Я столкнулся с проблемой, когда я пытаюсь получить размер терминала с помощью сценариев. Обычно я использую команду tput cols
внутри консоли, однако я хочу иметь возможность выполнить эту функцию, строго используя сценарии.
На данный момент я могу определить работающую консоль и получить путь к файлу. Однако я изо всех сил пытаюсь использовать эту информацию, чтобы получить ширину консоли. Я пытался использовать команду tput
, но я довольно плохо знаком с Linux / скриптами, поэтому не знаю, что делать.
Причина для этого в том, что я хочу иметь возможность настроить запись cron, которая время от времени уведомляет консоль о ее ширине / столбцах.
Это мой код до сих пор:
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)
Нормальный вывод TERMINAL
& TERMINALPATH
есть и , например &pts/terminalnumber
/dev/pts/terminalnumber
pts/0
/dev/pts/0
cron
рабочих мест были контрольные терминалы.