Tôi đang gặp một vấn đề trong đó tôi đang cố gắng để có được kích thước của một thiết bị đầu cuối bằng cách sử dụng các tập lệnh. Thông thường tôi sẽ sử dụng lệnh tput cols
bên trong bàn điều khiển, tuy nhiên tôi muốn có thể thực hiện tính năng này bằng cách sử dụng nghiêm ngặt các tập lệnh.
Đến bây giờ tôi có thể phát hiện bàn điều khiển đang chạy và lấy đường dẫn tệp của nó. Tuy nhiên, tôi đang vật lộn để sử dụng thông tin này để có được chiều rộng của giao diện điều khiển. Tôi đã thử sử dụng lệnh tput
, nhưng tôi khá mới đối với Linux / script vì vậy không thực sự biết phải làm gì.
Lý do để làm điều này là tôi muốn có thể thiết lập một mục cron thông báo cho bàn điều khiển về chiều rộng / cột của nó thường xuyên.
Đây là mã của tôi cho đến nay:
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)
Đầu ra bình thường của TERMINAL
& TERMINALPATH
are và , ví dụ &pts/terminalnumber
/dev/pts/terminalnumber
pts/0
/dev/pts/0
cron
công việc đã kiểm soát các thiết bị đầu cuối.