スクリプトを使用して端末のサイズを取得しようとする問題が発生しています。通常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
ジョブに制御端末があるとは思わなかった。