小编sir*_*r21的帖子

使用 bash 脚本获取控制台宽度

我遇到了一个问题,我试图通过使用脚本来获取终端的大小。通常我会tput cols在控制台内使用该命令,但是我希望能够通过严格使用脚本来完成此功能。

截至目前,我能够检测到正在运行的控制台并获取其文件路径。但是,我正在努力使用此信息来获取控制台的宽度。我已经尝试使用该命令tput,但我对 Linux/脚本还很陌生,因此我真的不知道该怎么做。

这样做的原因是我希望能够设置一个cron条目,每隔一段时间通知控制台其宽度/列。

到目前为止,这是我的代码:

文件

#!/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
Run Code Online (Sandbox Code Playgroud)

get_columns.sh

#!/usr/bin/env bash
echo $(/usr/bin/tput cols)
Run Code Online (Sandbox Code Playgroud)

TERMINAL&的正常输出TERMINALPATH是and ,例如&pts/terminalnumber/dev/pts/terminalnumberpts/0/dev/pts/0

terminal shell-script tput

20
推荐指数
4
解决办法
1万
查看次数

标签 统计

shell-script ×1

terminal ×1

tput ×1