各種Script

tips/参考

getops

1) posix

getopt よりも getopts

getopt(3) は UNIX で、コマンドの引数を処理する一般的な C 言語のライブラリ関数。それを用いて実装された getopt(1) コマンドも存在する。そして、Bourne シェル系だと getopts と言う内部関数もある。 getopt だと外部コマンドになり、色々と厄介なことがあるので、Bourne シェル系だと getopts を使った方が余計事が少なくて良い。

スマートな紳士のためのシェルスクリプト

tput

ターミナルは文字を表示するという機能以外にも、所定の場所にカーソルを表示させたり、フォントを変更したり、表示する色を変更したりとさまざまな機能を提供している。これら機能は制御コードシーケンスと呼ばれる特殊な文字列をターミナルに出力することで利用できる。ただし、制御コードシーケンスはターミナルごとに違っているため、通常は制御コードシーケンスを直接は使わない。かわりにターミナルデータベースからサポートされている制御コードシーケンスを持ってきてそれを利用する。これを簡単に実施するためのコマンドにtput(1)1)がある。

操作	Ubuntu	FreeBSD
ターミナルクリア	tput clear	tput cl
指定場所にカーソルを移動	tput cup 5 10	tput cm 5 10
ターミナルのカラム数を表示	tput cols	tput co
ターミナルの行数を表示	tput lines	tput li
背景色を設定	tput setb 5	tput AB 5
前景色を設定	tput setf 5	tput AF 5
フォントを太字に設定	tput bold	tput md
設定をリセット	tput sgr0	tput rs
下線表示	tput rmul	tput us
カーソルを表示	tput civis	tput vs
カーソルを非表示	tput cnorm	tput vi