-
-
Save papiron/78efbb18253d26c4af979c5e9cd34474 to your computer and use it in GitHub Desktop.
イメージはThe電光掲示板。
bannerコマンドの出力そのままだと表示が縦長になってしまっていたので、横に2倍にしてバランスを取っています。
長い文字列を指定しても大丈夫なように、端末の幅(列数)で切っています。
端末の列数をresizeコマンドで取得しています。FreeBSDにresizeコマンドが見当たらないのが困った。Ubuntu用は後ほど。
bashのecho -eに依存しているのが微妙。
Macのresizeコマンドですが、/opt/X11/bin/resizeにありました。
ということはこれってXquartz付属ということか?X関連をインストールする必要がありそうです。
resizeコマンドを使わずに端末の幅を取得出来ないですかねえ?
bashのシェル変数LINESとCOLUMNSは、シェルスクリプトからでは取得不能でした。(インタラクティブモードじゃないとダメっぽい)
これがヒントになりそう??
https://gist.github.com/s-hiiragi/09499284172ca1fa7f3f
Twitterでヒントをいただきました。tputコマンドとsttyコマンド。
https://twitter.com/Heliac1999/status/805955949554855940
https://twitter.com/h_uta/status/806129015710826497
後藤さんのtputに関する記事。
http://news.mynavi.jp/articles/2011/01/12/tput-of-ubuntu-and-freebsd/
gaucheで書いたそうです。
http://valvallow.blogspot.jp/2013/06/shellmarquee.html
考える元になったワンライナー