
Wie kann ich die Anzahl der maximalen Zeilen und Zeichenspalten in einem geöffneten Bash-Terminalfenster herausfinden?
Ich weiß, dass ich das mit der Curses-C-Bibliothek wie folgt herausfinden kann:
getmaxyx(stdscr, mrow, mcol);
Ich möchte die Bash-Variablen mrow und mrol auf die gleiche Weise mit meiner Bash-Sitzung verknüpfen.
Antwort1
Bash hat die gesuchten Variablen bereits integriert: $LINES und $COLUMNS.
Leider funktionieren diese nur in interaktiven Shells und im Allgemeinen nicht für Skripte, aber es ist möglich, das Skript interaktiv zu machen, indem Sie der Shebang-Zeile des Skripts einen Schalter hinzufügen:
#!/bin/bash -i
Antwort2
Xterm verfügt über ein Tool namens resize
, das in Skripten zum Festlegen derselben Variablen verwendet werden kann:
eval $(resize)
echo "The screen is $COLUMNS columns wide."