development:language:shellscript:tips
tips/参考
getops
getopt(3) は UNIX で、コマンドの引数を処理する一般的な C 言語のライブラリ関数。それを用いて実装された getopt(1) コマンドも存在する。そして、Bourne シェル系だと getopts と言う内部関数もある。
getopt だと外部コマンドになり、色々と厄介なことがあるので、Bourne シェル系だと getopts を使った方が余計事が少なくて良い。
tput
ターミナルは文字を表示するという機能以外にも、所定の場所にカーソルを表示させたり、フォントを変更したり、表示する色を変更したりとさまざまな機能を提供している。これら機能は制御コードシーケンスと呼ばれる特殊な文字列をターミナルに出力することで利用できる。ただし、制御コードシーケンスはターミナルごとに違っているため、通常は制御コードシーケンスを直接は使わない。かわりにターミナルデータベースからサポートされている制御コードシーケンスを持ってきてそれを利用する。これを簡単に実施するためのコマンドにtput(1)2)がある。
| 操作 | 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 |
development/language/shellscript/tips.txt · 最終更新: by hayashi
