-でrootパスワードを打って管理者権限にて行う作業です。これが一日に何度も必要な時、どうするか。各コマンドやパスワードの対話的な手入力はexpectコマンドを使えば自動化できます。ウィンドウのサイズ変更にlessコマンドやその他コマンドが追従しないという謎現象に遭遇してきました。ふつうは追従するのが当たり前なのでこれは不便です。どんな場合に発生して何が原因なのかを深く調べぬまま、端末のウィンドウを広げて謎現象で困った時は“端末を最初のサイズに手で戻す”という消極的な運用をして、不便を回避してきました。SIGWINCHの役目そんなある日、別件でLinuxのシグナルについて調べていて、次のページを開いた時に、SIGWINCHの文字が目に止まりました。端末のサイズ変更タイミングはいわゆるシグナルで伝わるんだ、と初めて知った瞬間です。ウィンドウのサイズが変更されたということは、いつも困っているあの謎現象はこのシグナルが関係しているのかもと気付きます。BLOG上記のお手製expectコマンドでログインしている状態のserver1の環境では、SIGWINCHシグナルを感知していないことが判明。謎現象の原因が見えてきました。SIGWINCHを処理するようにexpectを書こう問題の原因が分かると、解決法をGoogle先生に尋ねやすくなります。今回の件は先人の知恵を借りますと、exceptを用いるログイン時に、trapで始まりWINCHで終わる5行を次のように加えると、SIGWINCHシグナルをexpectコマンドがうまく処理するようになると分かりました。}}interact"まとめ以上、expectでログイン中の環境に、端末のサイズ変更で発せられるSIGWINCHシグナルを伝える方法の紹介でした。ウェブ上ではもう新鮮味のない情報ですが、私としては、問題の原因を調べるプロセスも含めて面白かったのでメモとして記録です。上記のスクリプトでは「rootのパスワード」とサラッと書いてきた、本来は暗号化して扱いたい秘匿情報をスクリプトなどにどう保存しておくかは、別途書きました次の記事が参考になるかもしれません。個人的な記録や思いをつらつらと。福岡長崎育ち、神戸在住。