我遇到一个试图通过使用脚本来获取终端大小的问题。通常,我会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
是and ,例如&pts/terminalnumber
/dev/pts/terminalnumber
pts/0
/dev/pts/0
cron
工作没有控制终端。