Bashとは
BashとはLinux系OSデフォルトのシェル(ユーザーインタフェースソフト)のこと。
ターミナルでコマンドを打ち込む相手がBashであるということだ。
shellは殻という意味合いがあり、核であるカーネルにコマンドを渡す、仲介役と言える。
Bash用のスクリプトであるシェルスクリプトを書く
シェルスクリプトでは、現在時刻の取得・乱数の発生・もちろん演算が可能であるが、他の言語のように引数を用いたプログラムなど、複雑な動作が必要なものは得意としていない。 パイプライン経由で1行単位でデータを受け取れるコマンドが向いている。 シェルスクリプトの得意なこと・不得意なこと
ターミナルからファイルを触る際の初期知識
この際、モードの切り替えが必要となる。これが無いと、コマンドラインに戻れなくなったり、コードの編集ができなくなったりする。
筆者はこれに大分苦しめられた。
また、vim 【ファイル名】で、ファイルを編集することができる。今回使った/今後重宝しそうなコマンドは以下。
【 a,i 】 ノーマルモードから入力モードへ
【 esc, Ctrl + [, control + c】 入力モードからノーマルモードへ
【ZZ】 上書き保存して終了
【:w】 保存
【q!】 保存しないで終了
実行する際には、bash 【ファイル名】のコマンドで完了する。
シェルスクリプトの文法
他の言語とは文法が大分異なっている。
大なり小なり記号一つとっても、不等号は無効であり、-geなどと書かなくてはならない。よって、他の言語を触る際には事前知識と共通している部分もあるために、調べずにコーディングしてしまうことも多いが、他の言語を触る際よりも頻繁に調べながら書く必要がある。
ここで、乱数を扱う際のことについて書き記す。 乱数はbashでしか利用できないが、このように使うことができる。
# echo $RANDOM
剰余など、演算結果を表示させる際には、括弧で括る必要がある。
# echo $(( $RANDOM % 5 ))
ソートコマンドを使いこなす
今回は、ファイルに出力された数値データに関してソートすることを考える。 以下のコードで重複するデータを省くことができる。
$ sort -u ファイル名
以下のようにすると。データを昇順に並び替えることができる。
$ sort -n ファイル名
なお、このようにすると、
$ sort ファイル名
データの最初の数字が並び替え対象となるめ、1,5,13,32などとあったとすると、1,13,32,5と並び替えられることに注意したい。