SIGWINCHとtputで遊んでみる

こんにちは河野です。新年早々小ネタです。

先日何かのログを眺めているときに、SIGWINCHというのを見かけました。何かのシグナルっぽいです。

SIGWINCHとは?

何かと思って調べてみたら、ターミナルのサイズ変更を知らせるシグナルでした。

動作確認してみる

bash,zshには

  • LINES
  • COLUMNS

という環境変数があるのですが、スクリプトにしたら上手く取得できませんでした。

なので、tputというコマンドを使います。tputではターミナルの情報が取得できます。

以下のスクリプトで動作確認してみました。

実行して、ウィンドウサイズを変更すると以下のようになりました。

sleep中でもtrapは実行されるようで、1秒おきにサイズが表示されました。

具体的な使い道は全然思い浮かばないのですが、CUIのアプリなど作るときには何か使えるかも知れませんね!

Comments are closed, but you can leave a trackback: Trackback URL.